Das nächste Problem :((
-
Sollte ein Programm schreiben, dass zwei Zahlen einliest und den USer beliebige Grundberechnungen beliebig oft damit machen lässt.
#include <iostream> using namespace std; int main() { double a, b; int Op; char c; do { cout << "Bitte geben Sie zwei Zahlen ein und druecken Sie jeweils <Enter>:\n\n"; cout << "a = "; cin >> a; cout << "b = "; cin >> b; Keine_Reinit: if(c = 'G') {cout << "a = " << a <<"\nb = " << b << "\n"; }; cout << "\nEntscheiden Sie sich fuer eine der folgenden Operationen (per Ziffer)\n" << "und druecken Sie <Enter>: \n\n" << "a + b (1)\na - b (2)\nb - a (3)\na / b (4)\nb / a (5)\na * b (6)\n\n"; cin >> Op; cout << "\nIhr Ergebnis lautet: "; switch(Op) { case 1: cout << a + b; break; case 2: cout << a - b; break; case 3: cout << b - a; break; case 4: if(!b) { cout << "Der Nenner ist Null. Keine Berechnung m\x94glich\n\n"; break; } cout << a / b; break; case 5: if(!a) { cout << "Der Nenner ist Null. Keine Berechnung m\x94glich\n\n"; break; } cout << b / a; break; case 6: cout << a * b; } cout << "\n\n"; cout << "Neue Zahlen: N und <Enter>\n" << "Gleiche Zahlen: G und <Enter>\n" << "Programmende: E und <Enter>\n"; cin >> c; cout << "\n\n"; if(c = 'G') {goto Keine_Reinit;} } while(c != 'E'); cout << "\n\nVielen Dank!\n\n"; system("pause"); return 0; }So, funktionert mal wieder nicht.
Ich stell mich irgendwi ean, hab ich das GEfühl ^^
Der kleine BAstard von Programm geht immer wieder zu Keine_Reinit, egal, was man eingibt. *nedversteh*
Wo is der Fehler in meinem Code?Danke im Voraus für eure Hilfe!
-
Zeile 21 bzw. 73:
Du verwendest den Zuweisungsoperator, nicht den Vergleichsoperatorif(c == 'G')...
-
Und "goto" ist allgemein schlechter Programmierstil

Wieso verwendest Du keine while-Schleife?
-
Tonikum schrieb:
... while(c != 'E');macht er doch...
-
Hab mich doch erst vor ein paar Wochen in C++ eingelesen, hatte vorher noch nie programmiert, brauch'S aber für's Studium :((
naja, goto hab ich genommen, weil es ja nur in einem Fall dahin soll, eben falls der Anwender die gleichen Zahlen nochmal verwenden möchte.
Dachte, while wäre für den kurzen VErweis zu kompliziert. Ist das nicht so?
Wieso springt mir das Programm denn trotzdem zu dem Punkt, auch wenn ich was anderes eingebe, als G?
Danke im Voraus!
-
ach halt, etz versteh ich das mit dem Zuweisungsdingsbums *g*
Dankeschön! Funktioniert :oD
-
Tonikum schrieb:
naja, goto hab ich genommen, weil es ja nur in einem Fall dahin soll, eben falls der Anwender die gleichen Zahlen nochmal verwenden möchte.
Dachte, while wäre für den kurzen VErweis zu kompliziert. Ist das nicht so?
goto hat ganz extreme Nachteile und sollte nicht verwendet werden. Die Diskussionen um goto werde ich hier aber nicht weiter ausbreiten, dies solltest du mit ein wenig suchen selbst finden.