C++中如何限定用户输入数字

 我来答
czy7812
2018-10-31 · TA获得超过2668个赞
知道小有建树答主
回答量:518
采纳率:88%
帮助的人:185万
展开全部

有两种方法:

第一种是输入完了再整体判断,如果不符合要求就重新输入,比如:
do{scanf("%d",&A);}while(A<0||A>100);
这样的话如果你输入的A这个数小于0或大于100,就会一直不停的让你重新输入。这样做的优点是简单,缺点是你无法及时控制,也就是在输入过程中,是可以输入非数字的字符的。比如输入9at3。
第二种是使用getch( )函数。这是一个不回显的函数,也就是说这个函数直接从控制台读取一个字符,但不显示在屏幕上。这个时候你就可以及时做判断,如果符合要求进行下一步,不符合要求忽略或怎么样的。这个函数必须在程序的最开头包含头文件 #include <conio.h>。比如:
#include <conio.h>
……
char c;
int i,a=0;
for(i=0;i<2;i++)
   {do{c=getch();}while(c<'0'||c>'9');   //如果不是输入0-9之间的字符,直接被忽略
    printf("%c",c);         //显示c这个字符(因为getch函数不回显,所以要手动显示)
    a=a*10+(c-'0');}        //把字符转化成数字
这样做的优点是除了你想要的字符,输入其它字符都无效。缺点是比较麻烦,要手动显示,还要转化为数据。

不知您想要哪一种?

zxz1993狮子
2018-10-31 · TA获得超过800个赞
知道小有建树答主
回答量:1469
采纳率:55%
帮助的人:347万
展开全部
判断输入的字符是否在0-9之间,不是则判定为非法输入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式