C++,怎么让int 型变量只能输入数字??
答案:5 悬赏:0
解决时间 2021-01-07 03:51
- 提问者网友:你给我的爱
- 2021-01-06 23:18
C++,怎么让int 型变量只能输入数字??
最佳答案
- 二级知识专家网友:轻熟杀无赦
- 2021-01-06 23:54
cin>>i;
while(1)
{
if(cin.good())
{
break;
}
else
{
cin.clear();
cin.ignore();
cout<<"输入错误的字符,请重新输入:";
cin>>i;
}
}
追问:cin.good()、cin.clear();cin.ignore();都是什么意思啊??
另外,程序执行后是这个样子:
怎么把多余的“输入错误的字符,请重新输入:";去掉呢?
追答:你把cout<<"输入错误的字符,请重新输入:";去掉不就行了
cin.good()是判断流是否正常,如果不正常,说明输入了不对应的东西,这个流就会出错,然后我们调用 cin.clear()来把流重置为正常状态,但是缓冲里面还是有我们刚才输入的不正常的东西,所以调用cin.ignore()来忽略缓冲里面的字符,也就变相的 清空缓存
while(1)
{
if(cin.good())
{
break;
}
else
{
cin.clear();
cin.ignore();
cout<<"输入错误的字符,请重新输入:";
cin>>i;
}
}
追问:cin.good()、cin.clear();cin.ignore();都是什么意思啊??
另外,程序执行后是这个样子:
怎么把多余的“输入错误的字符,请重新输入:";去掉呢?
追答:你把cout<<"输入错误的字符,请重新输入:";去掉不就行了
cin.good()是判断流是否正常,如果不正常,说明输入了不对应的东西,这个流就会出错,然后我们调用 cin.clear()来把流重置为正常状态,但是缓冲里面还是有我们刚才输入的不正常的东西,所以调用cin.ignore()来忽略缓冲里面的字符,也就变相的 清空缓存
全部回答
- 1楼网友:酒者煙囻
- 2021-01-07 03:14
在数字前面加一个float
- 2楼网友:孤老序
- 2021-01-07 01:50
最简单的方法,就是在控件属性里把Number勾选上..
- 3楼网友:逐風
- 2021-01-07 00:55
cin本身输入任何数据都可以,但由于num是整型,不会执行赋值,因此应用程序必须有判断机制。
追问:就是想请问下这个 判断机制 怎么写
追问:就是想请问下这个 判断机制 怎么写
- 4楼网友:一把行者刀
- 2021-01-07 00:11
这恐怕难以避免,只能对输入进行判断,如果不是期望的值,给予提示,要求重新输入。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯