Schleife in switch Anweisung
-
Moin Leudz,
wie man unten sehen kann möchte ich ne Schleife in eine switch anweisung einbauen(Die Schleife ist im Mom inaktiv, damit das Programm trotzdem läuft).
Ich bekomme dann aber immer Syntax Fehler ausgegeben:
143 D:\Dokumente und Einstellungen\ich\Eigene Dateien\C++Programme\Aktionär\spiel.cpp syntax error before `!' token und
165 D:\Dokumente und Einstellungen\ich\Eigene Dateien\C++Programme\Aktionär\spiel.cpp syntax error before `}' token
switch(auswahl) { case 1 : {short test=0; //do //{ short Firma=0; short Anzahl=0; cout<<"\nVon welcher Firma moechtest du kaufen? "; cin>>Firma; cout<<"\nWie viele Aktien möchtest du kaufen? "; cin>>Anzahl; if(Firma ==1) {ab1 = ab1+Anzahl; geld = geld - (aktienkurs1 * Anzahl); } else {if (Firma == 2) {ab2 = ab2+Anzahl; geld = geld - (aktienkurs2 * Anzahl);} else {ab3 = ab3+Anzahl; geld = geld - (aktienkurs3 * Anzahl);}} cout<<"Was möchtest du jetzt tun? "; cout<<"\n1. Nochmal kaufen 2. Verkaufen <inaktiv> 3. Einen Tag weiter gehen: "; cin>>test;//} //while (test != 3); };break;Danke für eure Hilfe
-
Boah, könntest du den Code nicht übersichtlicher gestalten? Und poste bitte den Code mit der while Anweisung und allen drum und dran und den Zeilennummern, damit man da auch was finden kann. Echt schrecklich der Code, so wie er jetzt ist.
MfG Riddick04
-
So ein paar
Tags und ein bißchen bessere Einrückung als Service Moin Leudz, wie man unten sehen kann möchte ich ne Schleife in eine switch anweisung einbauen(Die Schleife ist im Mom inaktiv, damit das Programm trotzdem läuft). Ich bekomme dann aber immer Syntax Fehler ausgegeben: 143 D:\Dokumente und Einstellungen\ich\Eigene Dateien\C++Programme\Aktionär\spiel.cpp syntax error before `!' token und 165 D:\Dokumente und Einstellungen\ich\Eigene Dateien\C++Programme\Aktionär\spiel.cpp syntax error before `}' token [cpp] case 1 : { short test=0; do { short Firma=0; short Anzahl=0; cout<<"\nVon welcher Firma moechtest du kaufen? "; cin>>Firma; cout<<"\nWie viele Aktien möchtest du kaufen? "; cin>>Anzahl; if(Firma == 1) { ab1 = ab1+Anzahl; geld = geld - (aktienkurs1 * Anzahl); } else { if (Firma == 2) { ab2 = ab2+Anzahl; geld = geld - (aktienkurs2 * Anzahl); } else { ab3 = ab3+Anzahl; geld = geld - (aktienkurs3 * Anzahl); } } cout<<"Was möchtest du jetzt tun? "; cout<<"\n1. Nochmal kaufen 2. Verkaufen <inaktiv> 3. Einen Tag weiter gehen: "; cin>>test; } while (test != 3); }; break;Danke für eure Hilfe
-
Könnte an den geschweiften Klammern liegen nach dem case, probiers mal so:
case 1 : short test=0; do { short Firma=0; short Anzahl=0; cout<<"\nVon welcher Firma moechtest du kaufen? "; cin>>Firma; cout<<"\nWie viele Aktien möchtest du kaufen? "; cin>>Anzahl; if(Firma == 1) { ab1 = ab1+Anzahl; geld = geld - (aktienkurs1 * Anzahl); } else { if (Firma == 2) { ab2 = ab2+Anzahl; geld = geld - (aktienkurs2 * Anzahl); } else { ab3 = ab3+Anzahl; geld = geld - (aktienkurs3 * Anzahl); } } cout<<"Was möchtest du jetzt tun? "; cout<<"\n1. Nochmal kaufen 2. Verkaufen <inaktiv> 3. Einen Tag weiter gehen: "; cin>>test; } while (test != 3); break;MfG Riddick04
EDIT: Und vielen Dank an templäd für den hilfreichen Service
war echt schrecklich der Code vorher.
-
Moin Leudz,
leider hats nicht funktioniert, aber danke für eure Hilfe. Hab mir was anderes einfallen lassen. Und danke für die Tipps mit der Übersichtlichkeit, werde si mir merken. Danke.
Gruß Shihan
-
Riddick04 schrieb:
Könnte an den geschweiften Klammern liegen nach dem case,
Nein, das kann nicht sein. Wenn du eine Variable innerhalb einer case-Anweisung
deklarieren willst, dann musst du sogar einen neuen Block oeffnen.mfg
v R
-
virtuell Realisticer schrieb:
Riddick04 schrieb:
Könnte an den geschweiften Klammern liegen nach dem case,
Nein, das kann nicht sein. Wenn du eine Variable innerhalb einer case-Anweisung
deklarieren willst, dann musst du sogar einen neuen Block oeffnen.mfg
v RHey vituell Realisticer, danke für den Tipp. Jetzt funzt es. Hat mir ne Menge Arbeit erspart. Bis denne Shihan