C++ - Switch w switchu

0

Witam, prosiłbym o pomoc przy tym "programie". Po wykonaniu switch'a z menu2 wyświetla się zapytanie o wyjście (tak ma być) ale kiedy wpisuję (cokolwiek) wychodzi komunikat "Program przestał działać". Nie wiem gdzie mogłem popełnić błąd. Próbowałem sprawdzać czy break'i dobrze powstawiałem, ale wydaję mi się, że tak. Z góry dzięki.

 

main () {

 float x, y;
 string w;
 int menu, menu2, menu3;
 


do {
 
  cout << "1."  << endl
         << "2.";
 
 cin >> menu;
 
 system ("cls");

 switch (menu)  {                                 
         
     case 1:
       cout  << "1."   << endl
              << "2." << endl
              << "3."    << endl
              << "4."   << endl
              << "5."     << endl;
         
       cin >> menu2;
       system ("cls");


    switch (menu2) {                               
      
        case 1:
          
        break;

        case 2:
          
        break;

        case 3:
          
        break;

        case 4:
          
        break;

        case 5:
          
        break;} break;


  
   
        
    case 2:
      cout   << "1." << endl
               << "2." << endl
               << "3." << endl
               << "4." << endl;
      
      cin >> menu3;
      system ("cls");
    
    switch (menu3) {                                          

        case 1:
           
        break;

        case 2:
           
        break;

        case 3:
          
        break;

        case 4:
          
        break;} 
    
    break;}

 


if (menu == 2) w = "n"; 
else {                
cout << endl << endl << "Wyjsc? (t/n): ";
cin >> w;}


} while (w == "n");
}
1

U mnie działa: http://melpon.org/wandbox/permlink/T6t9M6yOuwm1yWdr (przy okazji: zobacz jak wygodniej jest jak indentacja jest choć ciutkę poprawna).

Na przyszłość staraj się zamieszczać kompilujące się kawałki kodu.

1
  1. To co podałeś nie może się skompilować, więc albo podałeś tylko fragment przy czym ten w którym brak błędu albo edytujesz nie to co kompilujesz.
  2. Zacznij od poczytania o formatowaniu kodu bo bez formatowania niczego nie widzisz zaś doświadczeni forumowicze nie będą mieć chęci na to spojrzeć.
  3. Zacznij używać funkcji, program się uprości i będzie łatwiejszy do rozbudowy.
0

Dzięki za pomoc. Już wiem gdzie był błąd. "W" powinienem zadeklarować jako char a nie string. Teraz wszystko działa.

0

Mam jeszcze pytanie. Dlaczego wszystko co zrobię przed pętlą się nie wykonuje?

0

Z tego samego powodu z którego słońce nie wstaje co rano.

1 użytkowników online, w tym zalogowanych: 0, gości: 1