为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输出q跳不出循环?

为什么输出q跳不出循环?

海绵宝宝撒 2022-06-01 11:07:38
#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':break;case 'Q':break;default:cout<<"你输入的不是1-3的数字!"<<endl;}}cout<<"程序结束,再见。"<<endl;return 0;}
查看完整描述

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;
}


查看完整回答
反对 回复 2022-06-06
?
慕桂英4014372

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;
}
//===================================================================

//此时就可以完成程序的目的。
//以上仅供参考,如有不足,请高手指出不足之处。
//===================================================================


查看完整回答
反对 回复 2022-06-06
?
慕仙森

TA贡献1827条经验 获得超8个赞

break;跳出switch ;和循环没关系吧,而且continue没必要,直接用break就行,
一般情况下一个case对应一break语句

查看完整回答
反对 回复 2022-06-06
  • 3 回答
  • 0 关注
  • 194 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号