mehrere Fehler
-
er zeigt immer noch fehler an immer dieselben
#include <iostream> #include <cmath> using namespace std; int main(int argc, char *argv[]) { double befehl; string ergebnis; double Zahl1; double Zahl2; double ergebnis2; double eingabe; double wurzel; double fahrenheit; double celsius; cout << endl; cout << "Menue" << endl; cout << "Crocorechner <1>" << endl; cout << "Wurzelberechner <2>" << endl; cout << "Celsiusberechner <3>" << endl; cout << "Springball <4>" << endl; cout << "Theorechner <5>" << endl; cout << "Zinsrechner <6>" << endl; cout << "Programm Beenden <0>" << endl; cout << endl; cout << " Ihre Eingabe : "; cin >> befehl; switch(befehl) { case 0: cout << endl; cout << "Programm beenden" << endl; break; case 1: cout << endl; cout << "Bitte gib zwei Zahlen ein: " << endl << endl; cin >> Zahl1; cin >> Zahl2; cin.get(); cout << "Gib eine Rechenoption ein " << endl; cin >> ergebnis; cin.get(); if ( ergebnis == "+" ) { ergebnis2 = ( Zahl1 + Zahl2 ); } if ( ergebnis == "-" ) { ergebnis2 = ( Zahl1 - Zahl2 ); } if ( ergebnis == "*" ) { ergebnis2 = ( Zahl1 * Zahl2 ); } if ( ergebnis == "/" ) { ergebnis2 = ( Zahl1 / Zahl2 ); } cout << "Das Ergebnis ist : " << ergebnis2 << endl << endl; } break; case 2: cout << endl; cout << "Programm zur Wurzelberechnung" << endl; cout << endl; cout << "Geben sie bitte eine zahl ein: "; cin >> eingabe; getchar(); if (eingabe >=0) { wurzel = sqrt(eingabe); cout << "Wurzel von " << eingabe << " = " << wurzel << endl; } else { cout << "Wurzel negativer Zahlen kann nicht " "berechnet werden." << endl; } cout << endl; cout << "Programm wird beendet."; break; case 3: cout << "Temperatur in Fahrenheit:"; cin >> fahrenheit; getchar (); celsius = (fahrenheit - 32) * 5.0/9.0; cout.precision(2); cout << fixed; cout << fahrenheit << " Grad Fahrenheit entsprechen " << celsius << " Grad Celsius" << endl; cout.precision(); cout << fixed; getchar (); break; case 4: cout << endl; cout << "Kommt noch" << endl; cin.get() break; case 5: cout << endl; cout << "Ist unterwegs" << endl; break; case 6: cout << endl; cout << "Ist unterwegs"; cin.get() break; } system("PAUSE"); return 0; } }
-
- double ist ebenfalls kein Ganzzahltyp.
- Deine Klammerung hast du nicht (oder falsch) korrigiert (Einrückung würde dir helfen, die Fehler zu erkennen.
- Nach cin.get müssen Semikolons
-
so das hab ich jetz gemacht ich hab jetzt int genommen er zeigt mir aber wie volgt die fehler an
break statement not within loop or switch
case label 2 not within a switch statement
das geht dann bis case6dann kommen errors von zeile 124 bis 132
#include <iostream> #include <cmath> using namespace std; int main(int argc, char *argv[]) { int befehl; string ergebnis; double Zahl1; double Zahl2; double ergebnis2; double eingabe; double wurzel; double fahrenheit; double celsius; cout << endl; cout << "Menue" << endl; cout << "Crocorechner <1>" << endl; cout << "Wurzelberechner <2>" << endl; cout << "Celsiusberechner <3>" << endl; cout << "Springball <4>" << endl; cout << "Theorechner <5>" << endl; cout << "Zinsrechner <6>" << endl; cout << "Programm Beenden <0>" << endl; cout << endl; cout << " Ihre Eingabe : "; cin >> befehl; switch(befehl) { case 0: cout << endl; cout << "Programm beenden" << endl; break; case 1: cout << endl; cout << "Bitte gib zwei Zahlen ein: " << endl << endl; cin >> Zahl1; cin >> Zahl2; cin.get(); cout << "Gib eine Rechenoption ein " << endl; cin >> ergebnis; cin.get(); if ( ergebnis == "+" ) { ergebnis2 = ( Zahl1 + Zahl2 ); } if ( ergebnis == "-" ) { ergebnis2 = ( Zahl1 - Zahl2 ); } if ( ergebnis == "*" ) { ergebnis2 = ( Zahl1 * Zahl2 ); } if ( ergebnis == "/" ) { ergebnis2 = ( Zahl1 / Zahl2 ); } cout << "Das Ergebnis ist : " << ergebnis2 << endl << endl; } break; case 2: cout << endl; cout << "Programm zur Wurzelberechnung" << endl; cout << endl; cout << "Geben sie bitte eine zahl ein: "; cin >> eingabe; getchar(); if (eingabe >=0) { wurzel = sqrt(eingabe); cout << "Wurzel von " << eingabe << " = " << wurzel << endl; } else { cout << "Wurzel negativer Zahlen kann nicht " "berechnet werden." << endl; } cout << endl; cout << "Programm wird beendet."; break; case 3: cout << "Temperatur in Fahrenheit:"; cin >> fahrenheit; getchar (); celsius = (fahrenheit - 32) * 5.0/9.0; cout.precision(2); cout << fixed; cout << fahrenheit << " Grad Fahrenheit entsprechen " << celsius << " Grad Celsius" << endl; cout.precision(); cout << fixed; getchar (); break; case 4: cout << endl; cout << "Kommt noch" << endl; cin.get(); break; case 5: cout << endl; cout << "Ist unterwegs" << endl; break; case 6: cout << endl; cout << "Ist unterwegs"; cin.get(); break; } system("PAUSE"); return 0; }
-
Das liegt an der falschen Klammerung. Zum Beispiel ist die Klammer in Zeile 66 zu viel. Ob es dann richtig wird, kann ich vom Hingucken her nicht sagen, da der Code nicht eingerückt ist.
-
nein in zeile 66 ist kein fehler angezeigt
ich versteh das nicht.
-
@crocojunk,
Am besten rückst du den Code mal sinnvoll ein, dann wirst du es verstehen. SeppJ hat dir genau gesagt, wo der Fehler liegt. Der Kompiler sagt dir nicht, wo deine Fehler liegen, sondern wo er plötzlich Probleme mit der Syntax bekommen hat. Somit kann dein Fehler auch weiter oben sein als die Stelle, bei welcher der Kompiler meckert.Grüssli
-
nutze die C/C++ Tags für C oder C++ Quelltext
#include <iostream> #include <cmath> using namespace std; int main(int argc, char *argv[]) { int befehl; int quit=0; string ergebnis; double Zahl1; double Zahl2; double ergebnis2; double eingabe; double wurzel; double fahrenheit; double celsius; do { cout << endl; cout << "Menue" << endl; cout << "Crocorechner <1>" << endl; cout << "Wurzelberechner <2>" << endl; cout << "Celsiusberechner <3>" << endl; cout << "Springball <4>" << endl; cout << "Theorechner <5>" << endl; cout << "Zinsrechner <6>" << endl; cout << "Programm Beenden <0>" << endl; cout << endl; cout << " Ihre Eingabe : "; cin >> befehl; cout << endl; switch (befehl) { case 0: cout << "Programm beenden" << endl; quit=1; break; case 1: cout << "Bitte gib zwei Zahlen ein: " << endl << endl; cin >> Zahl1; cin >> Zahl2; cin.get(); cout << "Gib eine Rechenoption ein " << endl; cin >> ergebnis; cin.get(); if ( ergebnis == "+" ) { ergebnis2 = ( Zahl1 + Zahl2 ); } if ( ergebnis == "-" ) { ergebnis2 = ( Zahl1 - Zahl2 ); } if ( ergebnis == "*" ) { ergebnis2 = ( Zahl1 * Zahl2 ); } if ( ergebnis == "/" ) { ergebnis2 = ( Zahl1 / Zahl2 ); } cout << "Das Ergebnis ist : " << ergebnis2 << endl << endl; break; case 2: cout << "Programm zur Wurzelberechnung" << endl; cout << endl; cout << "Geben sie bitte eine zahl ein: "; cin >> eingabe; getchar(); if (eingabe >=0) { wurzel = sqrt(eingabe); cout << "Wurzel von " << eingabe << " = " << wurzel << endl; } else { cout << "Wurzel negativer Zahlen kann nicht " "berechnet werden." << endl; } cout << endl; cout << "Programm wird beendet."; break; case 3: cout << "Temperatur in Fahrenheit:"; cin >> fahrenheit; getchar (); celsius = (fahrenheit - 32) * 5.0/9.0; cout.precision(2); cout << fixed; cout << fahrenheit << " Grad Fahrenheit entsprechen " << celsius << " Grad Celsius" << endl; cout.precision(); cout << fixed; getchar (); break; case 4: cout << "Kommt noch" << endl; cin.get(); break; case 5: cout << "Ist unterwegs" << endl; break; case 6: cout << "Ist unterwegs"; cin.get(); break; } } while (quit); return 0; }system muss nicht sein

einige Redundanzen bearbeitet
-
ein neues problem wenn ich z.B 2 eintippe kommt das was ich wollte und dann geb ich die zahl ein anscließend wenn ich enter drücke verschwindet das feld.
ich hab es mit cin.get(); versucht klappt nicht auch mit getchar(); funzt es nicht. kann mir das einer erklären??
-
Ich dachte das hättest du schon hinter dir - eine der meistgestellten Fragen siehe FAQ

Eine Möglichkeit, starte von Kommandozeile.
-
War zu voreilig, vergess erst mal meinen vorigen Text

Abfrage
} while (!quit); // so geht es besser - oder? return 0; }