Prosze zróbcie mi ten program aby dzialałał
#include <iostream>
using namespace std;
int main()
{
double a, b, wynik;
int dzialanie;

cout << "Wybierz dzialanie, ktore chcesz wykonac:" << endl;
cout << "1. Dodawanie" << endl;
cout << "2. Odejmowanie" << endl;
cout << "3. Mnozenie" << endl;
cout << "4. Dzielenie" << endl;
cin >> dzialanie;

switch (dzialanie)
{

case 1:

int a,b,wynik,licznik,i;

cout<<"Podaj ilosc liczb ktore chcesz sumowac:" << endl;
cin>>a;

wynik=0;
licznik=0;

for(i=0;licznik<a;i++)
{
cout<<"podaj liczbe: ";
cin>>b;
wynik=wynik+b;
licznik=licznik+1;
}

cout<<"Suma wynosi: "<<wynik<<"\n";

break;

case 2:


cout<<"Podaj ilosc liczb ktore chcesz odjac:" << endl;
cin>>a;

wynik=0;
licznik=0;
for(i=0;licznik>a;i++)
{
cout<<"podaj liczbe: ";
cin>>b;
wynik=wynik-b;
licznik=licznik+1;
}

cout<<"Roznica wynosi: "<<wynik<<"\n";

break;
case 3:

cout<<"Podaj ilosc liczb ktore chcesz pomnozyc:" << endl;
cin>>a;

wynik=0;
licznik=0;

for(i=0;licznik<a;i++)
{
cout<<"podaj liczbe: ";
cin>>b;
wynik=wynik*b;
licznik=licznik+1;
}

cout<<"Iloczyn wynosi: "<<wynik<<"\n";
break;
case 4:
cout<<"Podaj ilosc liczb ktore chcesz podzielic:" << endl;
cin>>a;

wynik=0;
licznik=0;

for(i=0;licznik<a;i++)
{
cout<<"podaj liczbe: ";
cin>>b;
wynik=wynik/b;
licznik=licznik+1;
}

cout<<"Iloraz wynosi: "<<wynik<<"\n";
break;

default :
cout << "Koniec programu." << endl;
}



system("PAUSE");
return 0;
}
suma jest dobrze. różnica, mnozenie i dzielenie przeksztalcie.

2

Odpowiedzi

  • Użytkownik Zadane
2009-12-30T18:08:58+01:00
Najłatwiej zrobić to na tablicach dynamicznych, możesz też się bawić tak jak robiłeś tylko musisz wtedy odpowiednie warunki wprowadzić, bo w mnożeniu i dzielenie zawsze robiłeś pierwsze działania gdy wynik był równy 0, więc mnożenie i dzielenie wychodziło zero, a odejmowanie dostawało na wstępie liczbę ujemna

#include <iostream>

using namespace std;

int main()
{
double b, wynik;
int dzialanie, ilosc;

cout << "Wybierz dzialanie, ktore chcesz wykonac:" << endl;
cout << "1. Dodawanie" << endl;
cout << "2. Odejmowanie" << endl;
cout << "3. Mnozenie" << endl;
cout << "4. Dzielenie" << endl;
cin >> dzialanie;

switch (dzialanie)
{

case 1:
int licznik,i;

cout<<"Podaj ilosc liczb ktore chcesz sumowac:" << endl;
cin>>ilosc;

wynik=0;
licznik=0;

for(i=0;licznik<ilosc;i++)
{
cout<<"podaj liczbe: ";
cin>>b;
wynik=wynik+b;
licznik=licznik+1;
}

cout<<"Suma wynosi: "<<wynik<<"\n";

break;

case 2:


cout<<"Podaj ilosc liczb ktore chcesz odjac:" << endl;
cin>>ilosc;

double *tab = new double[ilosc];

wynik=0;
licznik=0;


for(i=0;i<ilosc;i++)
{
cout<<"podaj liczbe: ";
cin>>tab[i];

}

wynik=tab[0];


for(i=1;i<ilosc;i++)
{
wynik=wynik-tab[i];

}


delete [] tab;
cout<<"Roznica wynosi: "<<wynik<<"\n";

break;


case 3:

cout<<"Podaj ilosc liczb ktore chcesz pomnozyc:" << endl;
cin>>ilosc;

double *tab1 = new double[ilosc];

wynik=0;
licznik=0;


for(i=0;i<ilosc;i++)
{
cout<<"podaj liczbe: ";
cin>>tab1[i];

}

wynik=tab1[0];
if(wynik==0)
{
cout<<"Mnozenie zera lub przez zero!"<<endl;
break;
}

for(i=1;i<ilosc;i++)
{
wynik=wynik*tab1[i];

}

delete [] tab1;

cout<<"Iloczyn wynosi: "<<wynik<<"\n";
break;


case 4:
cout<<"Podaj ilosc liczb ktore chcesz podzielic:" << endl;
cin>>ilosc;

double *tab2 = new double[ilosc];

wynik=0;
licznik=0;


for(i=0;i<ilosc;i++)
{
cout<<"podaj liczbe: ";
cin>>tab2[i];

}

wynik=tab2[0];
if(wynik==0)
{
cout<<"Dzielenie zera lub przez zero!"<<endl;
break;
}

for(i=1;i<ilosc;i++)
{
wynik=wynik/tab2[i];

}


cout<<"Iloraz wynosi: "<<wynik<<"\n";

delete [] tab2;
break;

default :
cout << "Koniec programu." << endl;
}



system("PAUSE");
return 0;
}
Najlepsza Odpowiedź!
2009-12-30T18:18:00+01:00
Zmieniłem rozwiązanie, zgodnie z Twoimi wskazówkami

Zadanie nie jest dobrze opisane... tak naprawdę to nic nie trzeba było w nim robić, bo prosisz, żeby program działał... ten program, który napisałaś działa!!! Ale zapewne nie tak, jak byś chciała.
POWINNAŚ dokładnie opisać, co byś chciała...
Program sumuje, odjemuje, mnoży lub dzieli n liczbe, gdzie n można podać dowolnie

Ale teraz pytanie... co to znaczy odjąć n liczb? Bo dodać i pomnożyć, jest łatwo, gorzej w odejmowaniem i dzieleniem n liczba, bo te działania nie są przemienne...
Zastanów się, co tak naprawdę chcesz osiągnąć i napisz mi na priv... postaram się pomóc




#include <iostream>
using namespace std;
int main()
{
double a, b, wynik;
int dzialanie;

cout << "Wybierz dzialanie, ktore chcesz wykonac:" << endl;
cout << "1. Dodawanie" << endl;
cout << "2. Odejmowanie" << endl;
cout << "3. Mnozenie" << endl;
cout << "4. Dzielenie" << endl;
cin >> dzialanie;

switch (dzialanie)
{

case 1:

int a,b,wynik,i;

cout<<"Podaj ilosc liczb ktore chcesz sumowac:" << endl;
cin>>a;

wynik=0;

// TU ZMIANA - i JEST LICZNIKIEM
for(i=0; i<a;i++)
{
cout<<"podaj liczbe: ";
cin>>b;
wynik=wynik+b;
}

cout<<"Suma wynosi: "<<wynik<<"\n";

break;

case 2:


cout<<"Podaj ilosc liczb ktore chcesz odjac:" << endl;
cin>>a;

wynik=0; // TU WPISZ POCZATKOWA WARTOSC ODJEMNEJ
// TU ZMIANA - i JEST LICZNIKIEM
for(i=0;i<a;i++)
{
cout<<"podaj liczbe: ";
cin>>b;
if (i==0) wynik = b;
else wynik=wynik-b;
}

cout<<"Roznica wynosi: "<<wynik<<"\n";

break;
case 3:

cout<<"Podaj ilosc liczb ktore chcesz pomnozyc:" << endl;
cin>>a;

wynik=1; // TU ZMIANA - ZACZYNAMY OD WYNIKU = 1

for(i=0;i<a;i++)
{
cout<<"podaj liczbe: ";
cin>>b;
wynik=wynik*b;
}

cout<<"Iloczyn wynosi: "<<wynik<<"\n";
break;
case 4:
cout<<"Podaj ilosc liczb ktore chcesz podzielic:" << endl;
cin>>a;

wynik=0; // TU SOBIE WPISZ POCZATKOWA WARTOSC DZIELNEJ

for(i=0;i<a;i++)
{
cout<<"podaj liczbe: ";
cin>>b;
if (i==0) wynik = b;
else wynik=wynik/b;
}

cout<<"Iloraz wynosi: "<<wynik<<"\n";
break;

default :
cout << "Koniec programu." << endl;
}



system("PAUSE");
return 0;
}