我总是将default
放在所有情况的最后并且它可以工作,但是,今天我运行了这一块代码,我的默认设置无效。我把它放在其他可能的位置,以检查它是否可行,但它没有。它运行得很好,除非我的用户输入与我所做的情况不符。任何人都可以告诉我代码有什么问题,或者我如何使默认声明工作?
int main(){
int selection;
do
{
cout << "Please make a selection: \n";
cout << "1) Addition\n";
cout << "2) Subtraction\n";
cout << "3) Multiplication\n";
cout << "4) Division\n";
cin >> selection;
} while (selection != 1 && selection != 2 && selection != 3 &&
selection != 4);
switch (selection)
{
case 1:
cout << "you want addition\n";
break;
case 2:
cout << "you want subtraction\n";
break;
case 3:
cout << "you want multiplication\n";
break;
case 4:
cout << "you want division\n";
break;
default:
cout << "you entered wrong operation\n";
break;
}
cout << "You selected option #" << selection << "\n";
system("pause");
return 0;
}
答案 0 :(得分:1)
你的do while循环使程序无法继续使用不同于1,2,3或4的“selection”值。在这种情况下,你的switch语句只能达到你定义的4个案例,并且无法达到默认值案件。您可以通过排除do while循环来更改代码,只需输入一次即可。