一个关于cint的问题,大侠帮忙啊!

foxegg 2003-11-03 08:49:37
int a;
int flag = 0;
do {
cout<<"Please print a number:"<<endl;
cin>>a;
if( a<0 || a>10 ) flag = 1;
} while(flag = 0)

以上当输入一个字符比如"a"的话,会死循环,大概因为输入的不是int型吧。那要实现以上功能怎么改呢?

...全文
60 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mouseleeky 2003-11-03
  • 打赏
  • 举报
回复
第一个问题:你的while循环条件是不是不对啊?应该用双等号。
可以用ascii码判断输入的字符是不是在范围内。
第二个问题:可以直接输入类型为string的变量,不过需要:#include<string>
并且using std::string;
hcj2002 2003-11-03
  • 打赏
  • 举报
回复
直接输入就可以了
string str;
cin >>str;
hcj2002 2003-11-03
  • 打赏
  • 举报
回复
int a;
int flag = 0;
do {
cout<<"Please print a number:"<<endl;
cin>>a;
if( a<0 || a>10 ) flag = 1;
} while(flag =1) //应该是flag=1是推出循环吧??
//如果while( flag =0 ),输入a时当然是死循环了,因为a的ASCII得
知为97,不满足(a<0 || a>10 )所以Flag=1,不能退出循环


foxegg 2003-11-03
  • 打赏
  • 举报
回复
太急了,还没完。
用cint怎么输入一个字符串,不定常的,帮帮忙啦。

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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