2013-02-17 3 views
0

Как мне зациклировать этот корпус переключателя? Мне нужно иметь возможность вернуться к выбору меню после каждого случая переключения, чтобы сделать новый выбор. Помогите?Цикл C++ в заявлении оператора коммутатора

int _tmain(int argc, _TCHAR* argv[]){ 

    char choice; 
    showWelcome(); // Show Welcom Screen 
    showMenu();  // Show Menu Screen 
    cin >> choice; // Make Menu Secection 
    { 
      switch(choice) 
      { 
      case'1': 
       seriesCalc(); 
       break; 

      case'2': 
       parallelCalc(); 
       break; 

      case'q': 
       system("cls"); 
       break; 

      default: 
       break; 
       return 0; 
      } 

    }  

} // end main 

ответ

0

Используйте некоторое время цикл или цикл do-while. Возможно, вы захотите добавить возможность выхода в оператор switch, т. Е. while (loop) { и case 'q': loop = false.

Это хорошо, потому что после этого программа автоматически не выходит из программы.

+0

благодарит за ответ – Mac

2
while(cin){ 
    cin >> choice; // Make Menu Secection 
    { 
      switch(choice) 
      { 
      case'1': 
       seriesCalc(); 
       break; 

      case'2': 
       parallelCalc(); 
       break; 

      case'q': 
       system("cls"); 
       break; 

      default: 
       break; 
       return 0; 
      } 

    }  
} 

Кроме того, если вы не возражаете goto заявление:

back: cin >> choice; // Make Menu Secection 
{ 
switch(choice) 
{ 
case'1': 
    seriesCalc(); 
    break; 
case'2': 
    parallelCalc(); 
    break; 
case'q': 
    system("cls"); 
    break; 
default: 
    break; 
    return 0; 
} 
goto back; 
} 

Однако, если вы планируете идти на goto путь: запомнить

enter image description here

+0

http://xkcd.com/292/ –

+0

@ ta.speot.is lol Я видел это! –

+1

Это неправильное использование 'goto'. –

0
int _tmain(int argc, _TCHAR* argv[]){ 

    char choice;boolean again=true; 
    showWelcome(); // Show Welcom Screen 
    showMenu(); 
while(again){ // Show Menu Screen 
    cin >> choice; // Make Menu Secection 
    { 
      switch(choice) 
      { 
      case'1': 
       seriesCalc(); 
       break; 

      case'2': 
       parallelCalc(); 
       break; 

      case'q': 
       system("cls"); 
       break; 

      default: 
       again=false; 
      } 

    } 
return 0; 
}  

} 
0

INT _tmain (интермедиат ARGC, _TCHAR * ARGV []) {

char choice; 
showWelcome(); // Show Welcom Screen 
showMenu();  // Show Menu Screen 
**while**(cin >> choice) // Make Menu Secection 
{ 
     switch(choice) 
     { 
     case'1': 
      seriesCalc(); 
      break; 

     case'2': 
      parallelCalc(); 
      break; 

     case'q': 
      system("cls"); 
      break; 

     default: 
      break; 
      return 0; 
     } 

}  

} // конец основной

зЬй :: CIN возвращает положительное значение, когда вход активен ,

0

Напишите функцию для инкапсуляции реальной работы и ее вызова.

for(;;) { 
    cin >> choice; 
    if (!cin || do_user_command(choice) == cmd_exit) 
     break; 
} 
Смежные вопросы