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 关注
- 194 浏览
添加回答
举报