Brauche Hilfe bei einem Taschenrechner!
-
hi,
mein Problem is das bei meinen Taschenrechner die einzelnen rechen funktionen nicht richtig funktieonieren:#include <conio.h> #include <iostream> using namespace std; main() { char rech; do{ system("cls"); long zahl=0, summe =0 ,eingabe; char fra,g; long lotto[99]; char rechnung[99] ; int i=0,j=0,f; cout << " ...:::Moin:::... " <<endl; cout << "======================" <<endl; do{ if(i==97) { cout << "------------------------------------------" <<endl; cout << "Achtung, dies ist deine letzte Rechnung!!!" <<endl; cout << "------------------------------------------" <<endl; } if(i==0) { cout << "Bitte zahl eingeben:" ; cin >> zahl ; summe=zahl; } else { zahl=0; cout << "Bitte eine weitere Zahl eingeben:" ; cin >> zahl ; cout << endl; } do { cout<<endl; cout<<"Moechtest du:" <<endl; cout<<"-------------" <<endl; cout<<"Addieren <+>" <<endl; cout<<"Subtrahieren <->" <<endl; cout<<"Multiplizieren <*>" <<endl; cout<<"Dividieren </>" <<endl; if(i!=0) { cout<<"Das Ergebnis sehen <e>" <<endl; } cout<< endl << "Und was moechtest du: " ; cin >> fra ; cout << endl ; rechnung[i]= fra ; switch(fra) { case '+': summe = summe + zahl ; f=0; break; case '-': summe = summe - zahl ; f=0; break; case '*': summe = summe * zahl ; f=0; break; case '/': summe = summe / zahl ; f=0; break; case 'e': f=0; break; default: cout<<"Deine Eingabe konnte nicht erkannt werden!" <<endl; f=1; break; } }while(f==1); lotto[i]= zahl ; i++; j=i ; }while(fra != 'e' ); if(f==0) { cout << endl << "Die Summe deiner Rechnung ist: " << summe <<endl; cout << "=====================================" <<endl<<endl; cout << "Deine Rechnung ist:" <<endl<<endl; for ( i=0; i<j; i++) { cout << lotto[i]; if(i<=j-2) { cout << rechnung[i]; } else { cout<<"="<<summe<<endl; } } } cout<< endl << "=========================================================="; cout<<endl<<endl; cout<<"Moechtest du noch eine rechnung durchfuehren?" <<endl; cout<<"Ja <j> , Nein <n> :" ; cin >> rech ; }while(rech == 'j'); system("pause"); exit(-1); }
Würde mich über antworten freuen!!!
-
Suche doch mal hier im Forum nach Taschenrechner.
im Übrigen führst Du die Rechenoperation bereits aus, wenn Du nur eine Zahl hast. Füge hinter Zeile 69 mal ein
cout << "Summe=" << summe << endl;
hinzu und addiere dann zwei Zahlen.
Gruß
Werner
-
Aber ich habe es ja schon ausprobiert, in einer schleife kann man so rechnen.
Das Problem ist das er es hier nicht macht!
(Hier ein quelltext kannste ja ma ausprobieren!)#include <conio.h> #include <iostream> using namespace std; main() { double zahl, summe =0 ; cout << " ...:::Moin:::... " <<endl; cout << "======================" <<endl; for(int i=0; i<5 ; i++) { cout << "Bitte zahl eingeben:" ; cin >> zahl ; summe = summe + zahl ; } cout << endl << "Die Summe deiner Rechnung ist: " << summe <<endl<<endl; system("pause"); exit(-1); }
-
Welche Ausgabe erwartest du und welche Ausgabe kommt stattdessen? "Funktioniert nicht" und "macht nicht" sind keine brauchbaren Fehlerbeschreibungen um dir zu helfen.
P.S.: 1. Das heißt "int main"
2.exit(-1);
WTF?
-
Kalle1992 schrieb:
Aber ich habe es ja schon ausprobiert, in einer schleife kann man so rechnen.
Das Problem ist das er es hier nicht macht!
(Hier ein quelltext kannste ja ma ausprobieren!)#include <conio.h> #include <iostream> using namespace std; main() { double zahl, summe =0 ; cout << " ...:::Moin:::... " <<endl; cout << "======================" <<endl; for(int i=0; i<5 ; i++) { cout << "Bitte zahl eingeben:" ; cin >> zahl ; summe = summe + zahl ; } cout << endl << "Die Summe deiner Rechnung ist: " << summe <<endl<<endl; system("pause"); exit(-1); }
.. Du hast Recht, es funktioniert, aber nur für die Addition und nicht für die Multiplikation. Im Unterschied dazu steht in Deinem ersten Listing (ab Zeile 31) noch ein
Kalle1992 schrieb:
if(i==0) { ... summe=zahl; }
innerhalb der Schleife. Somit hat die Variable summe beim ersten Mal nicht den Wert 0, sonder den Wert von zahl.
Gruß
Werner