Visual C++ Taschenrechner Problem
-
Hallo C++ Community,
ich hab mir ein YouTube ein Video angeschaut, in dem Demonstriert wurde wie man, einen simplen C++ Taschenrechner programmiert, und folgenden Code abgeschrieben der aber wenn ich Debugging in C++ starte nicht funktioniert kann mir jemand mein Fehler korrigieren oder eine Anleitung beschreiben.
#include <iostream> #include <cstlib> using namespace std; int main() { int rechenoption; int zahl1, zahl2; cout <<"Taschenrechner"<< endl; cout <<"Bitte waehle die gewuenschte Rechenoption:" <<endl; cout << "1 Addition" << endl; cout <<Flächeninhalt Rechteck" << endl; cin >> rechenoption; if (rechenoption == 1) { cout << "Sie haben fuer die Addtion entschieden" << endl; cout << "Bitte gehen sie zwei Zahlen ein, die addiert werden sollen: " <<endl; cout << "Erste Zahl: "; cin >> zahl1; cout << "Zweite Zahl "; cin >> zahl2; cout << zahl1 << " + " <<" - " << (zahl1+zahl2) <<endl; } if (rechenoption == 2) { cout << "sie haben feur die Berechnung vom Flächeninhalt im Rechteck entschieden cout << "Bitte geben die Hoehe und Breite ein:" <<endl; cout << "Hoehe:"; cin >> zahl1; cout << "Breite:"; cin >> zahl2; cout << "Der Flächeninhalt betreagt: "<< (zahl1+zahl2); } system ("PAUSE"); }
-
Der funktionierende Code:
#include <iostream> using namespace std; int main() { float rechenoption; float zahl1, zahl2; cout <<"Taschenrechner"<< endl; cout <<"Bitte waehle die gewuenschte Rechenoption:" <<endl; cout <<" 1 Addition" << endl; cout <<" 2 Flächeninhalt Rechteck" << endl; cout <<"Wahl: "; cin >> rechenoption; if ( (rechenoption != 1 && rechenoption != 2) || !cin.good() ) { cout<<"Ungueltige Operation."<<endl; return 1; } if (rechenoption == 1) { cout << "Sie haben fuer die Addtion entschieden" << endl; cout << "Bitte gehen sie zwei Zahlen ein, die addiert werden sollen: " <<endl; cout << "Erste Zahl: "; cin >> zahl1; cout << "Zweite Zahl "; cin >> zahl2; cout << zahl1 << " + " <<zahl2<<" = "<<(zahl1+zahl2)<<endl; } if (rechenoption == 2) { cout << "sie haben feur die Berechnung vom Flächeninhalt im Rechteck entschieden"<<endl; cout << "Bitte geben die Hoehe und Breite ein:" <<endl; cout << "Hoehe:"; cin >> zahl1; cout << "Breite:"; cin >> zahl2; cout << "Der Flächeninhalt betreagt: "<< (zahl1 * zahl2); } cout<<"Druecke ENTER zum Beenden des Programms."<<endl; cin.get(); }
Beim nächsten mal bitte die Fehlermeldungen dazuschreiben.
-
Hallo phyhax,
vielen Dank der Taschenrechner funktioniert, aber wenn ich die Addiere und die zweite Zahl eingebe, und ENTER drücke, wird das Ergebnis zwar angezeigt, aber dann schließt sich das Programm schnell, brauche Hilfe?
-
Das:
cin.sync(); cin.clear();
Vor der vorletzten zeile einfügen, um den tastenpuffer zu löschen.
-
Danke schön funktioniert jetzt.
-
Hab jetzt selber versucht zu Subtraktion durchzuführen in dem ich die Werte von der Addtions Code übernommen habe und umgestellt habe:
Doch dann wenn ich die Nummer 3 drücke kommt folgende Fehlermeldung:
"Ungültige Operation"
Woran könnte es liegen kann mir jemand helfen?
Mein eigener Programmierter Code:
if (rechenoption == 3) { cout << "Sie haben fuer diese Rechenoption entschieden" << endl; cout << "Bitte geben sie zwei Zahlen an die Substrahiert werden sollen " <<endl; cout << "Erste Zahl: "; cin >> zahl1; cout << "Zweite Zahl "; cin >> zahl2; cout << zahl1 << " - " <<zahl2<<" = "<<(zahl1-zahl2)<<endl; }
Mein Kompletter Code:
#include <iostream> using namespace std; int main() { float rechenoption; float zahl1, zahl2; cout <<"Taschenrechner"<< endl; cout <<"Bitte waehle die gewuenschte Rechenoption:" <<endl; cout <<" 1 Addition" << endl; cout <<" 2 Flächeninhalt Rechteck" << endl; cout <<" 3 Minus"<< endl; cout <<"Wahl: "; cin >> rechenoption; if ( (rechenoption != 1 && rechenoption != 2) || !cin.good() ) { cout<<"Ungueltige Operation."<<endl; return 1; } if (rechenoption == 1) { cout << "Sie haben fuer die Addtion entschieden" << endl; cout << "Bitte geben sie zwei Zahlen an die Addiert werden sollen " <<endl; cout << "Erste Zahl: "; cin >> zahl1; cout << "Zweite Zahl "; cin >> zahl2; cout << zahl1 << " + " <<zahl2<<" = "<<(zahl1+zahl2)<<endl; } if (rechenoption == 2) { cout << "sie haben feur die Berechnung vom Flächeninhalt im Rechteck entschieden"<<endl; cout << "Bitte geben die Hoehe und Breite ein:" <<endl; cout << "Hoehe:"; cin >> zahl1; cout << "Breite:"; cin >> zahl2; cout << "Der Flächeninhalt betreagt: "<< (zahl1 * zahl2); } if (rechenoption == 3) { cout << "Sie haben fuer diese Rechenoption entschieden" << endl; cout << "Bitte geben sie zwei Zahlen an die Substrahiert werden sollen " <<endl; cout << "Erste Zahl: "; cin >> zahl1; cout << "Zweite Zahl "; cin >> zahl2; cout << zahl1 << " - " <<zahl2<<" = "<<(zahl1-zahl2)<<endl; } cout<<"Druecke ENTER zum Beenden des Programms."<<endl; cin.sync(); cin.clear(); cin.get(); }
-
Die Zeile:
if ( (rechenoption != 1 && rechenoption != 2) || !cin.good() )
muss zu
if ( (rechenoption != 1 && rechenoption != 2 && rechenoperation != 3) || !cin.good() )
werden.