| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 529 人关注过本帖
标题:[求助]选择循环问题
只看楼主 加入收藏
tiancaion3
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
 问题点数:0 回复次数:7 
[求助]选择循环问题
在一文字标题菜单里要求选择其一,后重复执行
要求是无论是怎么输入
如果错误都能正确的提示错误并且返回菜单,并且再次返回菜单次数不超过2次

[此贴子已经被作者于2006-11-13 21:23:21编辑过]

搜索更多相关主题的帖子: 选择 
2006-11-13 21:22
slowlybear
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-10-18
收藏
得分:0 

void main()
{
int i(0),a;
do
{
cout<<"1.//文字标题菜单";
cout<<"2.//文字标题菜单";
...
cout<<"n.//文字标题菜单";

cin>>a;
if ((c<1)||(c>n))
{
i+=1;
cout<<"//错误提示";
}
}
while (i<=2);
}

不知道合不合要求。


2006-11-14 10:36
tiancaion3
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
得分:0 
e....你这个好象是错误2次过后就跳出循环不会再显示菜单了吧,还有就是IF判断里面的C是那来的?
我自己做了个,缺陷就是输入错误就退出,就是不知道怎么在输入错误的时候正确返回菜单,
如果我把i < 1改成i < 2那么,如果输入字符则无限显示,超过1E的数字长度也会出错
for (int i = 0;i < 1;i++)
{
FaObject.Decision();//文本菜单
cin >> Choice;
if (Choice == 1)
OpObject.Read();
if (Choice == 2)
OpObject.Write();
if (Choice == 0)
break;
if (Choice != 0 && Choice != 1 && Choice != 2)
{
cout<<"Choose the mistake, please Afresh Importation\n";
i=0;
continue;
}
}
2006-11-14 15:18
slowlybear
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-10-18
收藏
得分:0 

对啊,错2次就不返回了,你不是这么要求的吗,不超过2次?那个c其时是a,我打错了~

另外,在IF语句中,以前的导师让我们不要随便对循环变量修改,我也做过这种事,发现有时候会出问题~

所以还是不要用FOR了吧


2006-11-14 16:14
tiancaion3
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
得分:0 

我的意思不是说错2次就不返回,你可以试一下,就拿刚刚那段代码说如中的Choice为char那么输入2个以上字符的话,就会返回多次菜单
我是指的这个返回菜单的次数不超过2次
其实要做的就是这:
首先提示菜单-输入选择-成功进入下级菜单
-错误的输入返回菜单重新选择(返回的菜单不能超过2次)

2006-11-14 16:30
slowlybear
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-10-18
收藏
得分:0 
那正常只返回一次菜单吧。
可能是这个原理:输入N个字符,每循环一次cin会读一个,读完为此,所以循环N次,出现N次菜单。
我不知道C++中怎么截断,只取一次。

2006-11-14 16:43
tiancaion3
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2006-10-25
收藏
得分:0 
我只能说C++里面的CIN太严谨了.....
2006-11-14 16:49
slowlybear
Rank: 1
等 级:新手上路
帖 子:90
专家分:0
注 册:2006-10-18
收藏
得分:0 
我发一个帖子问如何舍弃多打的字符,把代码加入应该可以解决问题。

2006-11-14 17:34
快速回复:[求助]选择循环问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020304 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved