中易网

C++,怎么让int 型变量只能输入数字??

答案:5  悬赏:0  
解决时间 2021-01-07 03:51
C++,怎么让int 型变量只能输入数字??
最佳答案
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()来忽略缓冲里面的字符,也就变相的 清空缓存
全部回答
在数字前面加一个float
最简单的方法,就是在控件属性里把Number勾选上..
cin本身输入任何数据都可以,但由于num是整型,不会执行赋值,因此应用程序必须有判断机制。
追问:就是想请问下这个 判断机制 怎么写
这恐怕难以避免,只能对输入进行判断,如果不是期望的值,给予提示,要求重新输入。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
祥城派出所怎么去啊,有事要去办理
如何创建新页面
收到老书一本,有多大的收藏价值?
一家四口人,两个小孩。做饭加洗澡,一个月55
我守无忧栽菩提,菩提树下结真谛.觉照观照我和
朔州第十小学开车怎么走
要把照片放在淘宝上,图片需要怎样处理?
天狱附录和魔域附录什么怪暴?
珠城路五金建材商店地址在什么地方,我要处理
面对英国挑衅,为什么明朝就能打赢他们,而清
开超市的话大概需要多少资金?
龙之谷手游天梯配置比赛是什么
56年9月6日出生明年60岁能不能退休
关于兼职文字录入员
请问成都到西藏拉萨最新路况怎样
推荐资讯
有一首英文歌的歌词是一个死刑犯写给家人的信
孩子的脖子突然歪了怎么办
中石油吉祥加油站(龙文镇西坑村)地址在哪,我
天天开锁(永川店)地址在哪,我要去那里办事
报告需要ASTM1018的力学性能
为什么吃氨基酸可以抗疲劳?
二手房全委公证的流程
求河内音乐银行exo翻唱越南歌曲 那个他 的开
迁安市蔡园镇联合中学地址好找么,我有些事要
友谊受到伤害而看透一切的一段话
“司马牛之叹”是什么意思?
潜艇航速多少节??啥意思??一节相当于多少
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?