Problem mit Switch Case



  • Kann mir jemand sagen was ich dagegen machen kann? Oder soll ich den Quellcode schicken?

    case label `2' not within a switch statement



  • Ein Case Label außerhalb eines switch Statemens?
    Zeig mal Code



  • Aber nicht lestern war nur mal zum ausprobieren:

    #include <iostream>

    using namespace std;

    int main()
    {
    cout << "\nKaufhaus bummel\n" << endl;
    cout << "Wo wollen Sie hin?" << endl;
    cout << "(1)Kleidung" << endl;
    cout << "(2)Spielsachen" << endl;
    cout << "(3)Haushaltsgeraete" << endl;
    cout << "(4)Multimedia" << endl;
    int stockwerk;
    cin >> stockwerk;
    switch (stockwerk)
    case 1:
    {
    cout << "Herren-, Frauen- und Kinderkleidung" << endl;
    break;
    }
    case 2:
    {
    cout << "Brettspiele, Plueschtiere und Lego" << endl;
    break;
    }
    case 3:
    {
    cout << "Spuehlmaschienen, Waschmittel und Waeschetrockner" << endl;
    break;
    }
    case 4:
    {
    cout << "Computer, Software und CDs" << endl;
    break;
    }
    default:
    {
    cout << "Garage" << endl;
    break;
    }
    cout << "\nBesuchen Sie uns bald wieder!" << endl;
    cin.get();
    }



  • Ups hätt ich ja über das code ding machen müssen naja zu spät.



  • Hi!

    Du musst um die case-Marken auch eine geschweifte Klammer machen, wenn du mehr als nur 1 Label hast (was ja eigentlich immer der Fall ist), also:

    switch (stockwerk) { // switch Anfrang; Hier fehlte '{'
    case 1:
    {
    cout << "Herren-, Frauen- und Kinderkleidung" << endl;
    break;
    }
    case 2:
    {
    cout << "Brettspiele, Plueschtiere und Lego" << endl;
    break;
    }
    case 3:
    {
    cout << "Spuehlmaschienen, Waschmittel und Waeschetrockner" << endl;
    break;
    }
    case 4:
    {
    cout << "Computer, Software und CDs" << endl;
    break;
    }
    default:
    {
    cout << "Garage" << endl;
    break;
    }
    
    } // switch Ende
    

    Code-Hacker



  • switch (stockwerk) 
    {//hier klammer
    case 1: 
    ...
    case 2: 
    ...
    }//hier auch
    


  • Oh danke jetzt funktionierts.



  • #include <iostream> 
    using namespace std; 
    
    int main() { 
       cout << "\nKaufhaus bummel\n" << endl; 
       cout << "Wo wollen Sie hin?" << endl; 
       cout << "(1)Kleidung" << endl; 
       cout << "(2)Spielsachen" << endl; 
       cout << "(3)Haushaltsgeraete" << endl; 
       cout << "(4)Multimedia" << endl; 
       int stockwerk; 
       cin >> stockwerk; 
       switch (stockwerk) {
          case 1: 
             cout << "Herren-, Frauen- und Kinderkleidung" << endl; 
             break; 
         case 2: 
             cout << "Brettspiele, Plueschtiere und Lego" << endl; 
             break; 
         case 3: 
             cout << "Spuehlmaschienen, Waschmittel und Waeschetrockner" << endl; 
             break; 
         case 4: 
             cout << "Computer, Software und CDs" << endl; 
             break; 
         default: 
             cout << "Garage" << endl; 
             break; 
       }
       cout << "\nBesuchen Sie uns bald wieder!" << endl; 
       cin.get(); 
    }
    

    Du hast vergessen nach switch einen Block zu öffnen { }.
    Die Blöcke bei den einzelnen cases kannst du weglassen.



  • Während ich noch schreib 2 Antworten 😮



  • Gold geht an Code-Hacker, gut gemacht
    Silber für volkard, auch nicht schlecht
    Und Bronze für interpreter, nächstes mal gehts besser

    🤡



  • *** schrieb:

    Gold geht an Code-Hacker, gut gemacht
    Silber für volkard, auch nicht schlecht
    Und Bronze für interpreter, nächstes mal gehts besser

    🤡

    Ach, Hauptsache der OP bekommt schnell ne (richtige) Antwort. 🤡



  • Hi!

    *** schrieb:

    Gold geht an Code-Hacker, gut gemacht
    Silber für volkard, auch nicht schlecht
    Und Bronze für interpreter, nächstes mal gehts besser

    🤡

    Damit habe wir besser abgeschnitten als die restlichen deutschen bei Olympia 🙂

    Code-Hacker



  • Ich bin ja so unwissend *g*

    OP?



  • Facer schrieb:

    Ich bin ja so unwissend *g*

    OP?

    original poster


Anmelden zum Antworten