Switches verschachteln
-
Wie ist es möglich mehrere Switces in einander zu Schreiben? Ich wollte sozusagen:
Was wollen sie?
1
2
3
Sie haben Option3 gewählt! Wählen sie weiter:
a
b
c
Sie haben Option b gewählt! Bitte wählen Sie weiterusw.
Bei mir klappt das irgenwie nicht.
-
char a,b,c; a = getchar(); switch (a) { case '1' : b = getchar(); switch (b) { case 'a' : /* ... */ break; case 'b' : /* ... */ break; case 'c' : /* ... */ break; default : /* ... */ } break; case '2' : b = getchar(); switch (b) { case 'd' : /* ... */ break; case 'e' : /* ... */ break; case 'f' : /* ... */ break; default : /* ... */ } break; case '3' : b = getchar(); switch (b) { case 'g' : /* ... */ break; case 'h' : /* ... */ break; case 'i' : /* ... */ break; default : /* ... */ } break; default : /* ... */ }
Wichtig nicht die breaks vergessen!!!
-
na einfach nacheinander!
und jedes mal speicherst du die antwort irgendwo.
ich seh nicht, wozu du bei der "testsession" switches brauchst.
-
In Funktionen auslagern.
-
Ich habe das getchar nicht gemacht! Wozu ist dieses gut?(Meine Vermutung: Zur Speicherung des Wertes den ich eintippe.)
PS c.rackwitz: ich hatte nur keine lust meinen Quellcode hier hinein zu schreiben und habe deshalb diesen Dummy estellt um mein Problem zu schildern...
PS bitte: Wozu soll ich Daten aulagern/wie geht das?
PS imhotep: thanks
-
getchar() liest ein Zeichen von stdin (=Tastatur) und gibt dessen Wert zurück. Für dein konkretes Problem kannst du dort auch eine eigene Eingabefunktion einsetzen.