如何循环此开关盒?我需要能够在每个开关盒之后循环回到菜单选择以进行新的选择。帮助
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 :(得分: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
方式:请记住
答案 1 :(得分:0)
使用while循环或do-while循环。您可能希望在switch语句中添加退出的可能性,即while ( loop ) {
和case 'q': loop = false
。
这很好,因为它之后不会自动退出程序。
答案 2 :(得分: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;
}
}
答案 3 :(得分:0)
int _tmain(int 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;
}
}
} //结束主要
当输入有效时,std :: cin将返回正值。
答案 4 :(得分:0)
编写一个函数来封装实际工作并调用它。
for(;;) {
cin >> choice;
if (!cin || do_user_command(choice) == cmd_exit)
break;
}