出于某种原因,我对于应该围绕这个switch语句包含什么类型的循环感到非常困惑。如果我有下面的switch语句,我希望用户能够继续输入击键,直到遇到其中一种类型的循环最适合这种情况的情况?
谢谢,
int input;
cin >> input;
switch( input )
{
case 1:
playgame();
break;
case 2:
loadgame();
break;
case 3:
Multiplayer();
break;
case 4:
cout << "Thanks, exitting now \n";
break;
default:
cout << "error \n";
cin >> input;
break;
}
答案 0 :(得分:2)
缺少一些停止条件。
int input = 0; // make a habit of initialising all variables
bool again = true;
while(again) { // could use input != 4 (stop value)
cin >> input;
...
case 4: // magic numbers are bad, maybe use enum for the cases.
cout << "Thanks, exiting now \n";
again = false; // <----- else you wont get out.
break;
...
}
答案 1 :(得分:0)
我建议使用while循环,因为您可以确保循环在退出之前至少执行了1次。此外,由于您不知道用户可能在循环中迭代多少次,因此For循环不合适。