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 weiter

    usw.

    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.


Anmelden zum Antworten