3 回答

TA貢獻1865條經驗 獲得超7個贊
你只要在switch和for循環之間加多一句break就OK了,即
switch(number)
{
case '1':cout<<"你輸入的是1!\n";
continue;
case '2':cout<<"你輸入的是2!\n";
continue;
case '3':cout<<"你輸入的是3!\n";
continue;
case 'q':break;
case 'Q':break;//這個的作用是跳出switch
default:cout<<"你輸入的不是1-3的數字!"<<endl;
}
break;//這個的作用是跳出循環
}
cout<<"程序結束,再見。"<<endl;
return 0;
}

TA貢獻1871條經驗 獲得超13個贊
你的輸入Q或q以后,是跳出了switch這個結構,可是還在for循環中,仍會進行下一次循環。
把輸入q或Q跳出for循環就結束了。
可以將代碼改為(經過vc6.0調試):
#include<iostream>
using namespace std;
int main()
{
char number;
for(;;)
{
cout<<"請輸入一個數字(1-3之間),輸入q退出。"<<endl;
cin>>number;
switch(number)
{
case '1':cout<<"你輸入的是1!\n";
continue;
case '2':cout<<"你輸入的是2!\n";
continue;
case '3':cout<<"你輸入的是3!\n";
continue;
case 'q':goto loop;
case 'Q':goto loop;
default:cout<<"你輸入的不是1-3的數字!"<<endl;
}
}
loop:
cout<<"程序結束,再見。"<<endl;
return 0;
}
//===================================================================
//此時就可以完成程序的目的。
//以上僅供參考,如有不足,請高手指出不足之處。
//===================================================================
- 3 回答
- 0 關注
- 185 瀏覽
添加回答
舉報