switch语句怎么多次执行啊?

js060020 2009-12-15 04:27:35
菜鸟问一个很基本的问题

想做一个switch语句

在选项中有个结束程序 跳出

如果不跳出的话

可以多次执行 选择语句

给客户多次选择的能力

怎么做
...全文
2668 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangsiminglove 2009-12-15
  • 打赏
  • 举报
回复
学到知识了~
ypb362148418 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 cfz379945430 的回复:]
C/C++ codeint a;while(1)
{
cin>>a;switch(a)
{case1:
.......break;case2:
.......break;case3://结束return0;
}
}
[/Quote]

这种写法很对
gelu1040 2009-12-15
  • 打赏
  • 举报
回复

switch(c)
{
case c0:
...
c=ccc;
...
case c1:
...
c=ccc;
...
case c2:
...
c=ccc;
...

...
...
case ccc:
updata(&c);//c更新后(用户选择),未定义行为退出
default :break;
}

密斯刘 2009-12-15
  • 打赏
  • 举报
回复
打死我都不用goto
一般人用goto会被别人看不起的……
除非是牛人
xianyuxiaoqiang 2009-12-15
  • 打赏
  • 举报
回复
int flag = 1;
int a = 4;
while(flag == 1){
switch(a){
case 1:
// do something
break;
case 2:
// do something
break;
case 3:
// do something
break;
case 4:
// do something
flag = 0;//此处使之推出循环
break;
default:
break;
}
}
gehongping 2009-12-15
  • 打赏
  • 举报
回复
witch只是一个选择语句,要多次执行,必需通过循环语句才行,如:
while(true)
{
cout < <"请输入选择" < <endl;
cin>>n;
switch(n) //执行
{
case 0: //假设0是退出
break;
case 1:
break;
default:
break;
}
if (n == 0) break; //假设选择了0是退出
tian_zhi_dao 2009-12-15
  • 打赏
  • 举报
回复
少写一个 } 应该在while前面
tian_zhi_dao 2009-12-15
  • 打赏
  • 举报
回复
 
char t;
do{
cout<<"输入选择"<<endl;
cin>>i;
switch(i)
{
case 1:
...
break;
case 2:
...
brfeak;
}
cout<<"继续选择输入Y/y"<<endl;
cin>>t;
while(t=='y'||t=='Y');
iisbsd 2009-12-15
  • 打赏
  • 举报
回复
兄弟们,咱还是别用goto了,成么?
cattycat 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 js060020 的回复:]

懂了点 那怎么样能跳出呢?

比如说 输入4  就 exit这个程序

该用什么语句呢?
[/Quote]

当你输入0的时候就退出了。
XIONGSWEN 2009-12-15
  • 打赏
  • 举报
回复
while(1)
yuan_nice 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cfz379945430 的回复:]
引用 12 楼 yuan_nice 的回复:
5楼 return 0; 会跳出整个函数

楼主不是要结束程序吗?
[/Quote]

哦,没仔细看
sduxiaoxiang 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 js060020 的回复:]
引用 8 楼 sduxiaoxiang 的回复:
C/C++ codeint m=2;
label:switch(m)
{case1:break;case2:
  Dosomething...
  scanf("%d",&m);goto label;
}
不用循环

label 不太懂 啊 能简单介绍一下吗?
[/Quote]
标签。。标识goto跳到的地方
ArmStronger 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 yuan_nice 的回复:]
5楼 return 0; 会跳出整个函数
[/Quote]
楼主不是要结束程序吗?
yuan_nice 2009-12-15
  • 打赏
  • 举报
回复
5楼 return 0; 会跳出整个函数
js060020 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sduxiaoxiang 的回复:]
C/C++ codeint m=2;
label:switch(m)
{case1:break;case2:
Dosomething...
scanf("%d",&m);goto label;
}
不用循环
[/Quote]
label 不太懂 啊 能简单介绍一下吗?
lirg8405 2009-12-15
  • 打赏
  • 举报
回复
我4楼写的已经包含了退出条件
ArmStronger 2009-12-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yuan_nice 的回复:]
C/C++ codefor (选择次数)
{bool bIs=false;switch(...)
{case ...:
bIs=true;break;
}if (bIs)
{break;
}
}
不知道这样可行不?

[/Quote]
看我5楼写的
sduxiaoxiang 2009-12-15
  • 打赏
  • 举报
回复

int m=2;
label:
switch(m)
{
case 1:
break;
case 2:
Dosomething...
scanf("%d",&m);
goto label;
}

不用循环
yuan_nice 2009-12-15
  • 打赏
  • 举报
回复

for (选择次数)
{
bool bIs = false;
switch(...)
{
case ...:
bIs = true;
break;
}
if (bIs)
{
break;
}
}

不知道这样可行不?
加载更多回复(6)

64,281

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧