在用c++写程序时,需要用户输入数据,但程序怎么写才能保证用户只能输入数字,不能输入其他字符呢?
展开全部
不知道你的是控制台程序还是窗口应用程序,控制台的话你只能获取之后处理返回,判断是"0"-"9",窗口的话,就可以添加textbox的一个函数,当输入的不是数字可以返回原来的数字字符串,这样保证输入的只是数字
追问
但用户输入的是、可能是一位 ,两位或多位,或小数,这该怎么处理呢?他的位数不确定。
追答
窗口的话,添加了textbox的函数之后,每次都可以只获取一个字符进行判断,或者你把所有内容转成String先,然后for循环判断每一位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先判断数据是不是只有数字、小数点、和正负号,如果有其他就提示格式错误
再看看小数点是不是在头尾,如果是就提示格式错误
最后判断正负号是不是只有一个并在开头,如果不是就提示格式错误
思路就是这样,但我不是学C++的,程序你自己写
再看看小数点是不是在头尾,如果是就提示格式错误
最后判断正负号是不是只有一个并在开头,如果不是就提示格式错误
思路就是这样,但我不是学C++的,程序你自己写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将用户输入按字符存储
判断字符asc码是否在数字的范围内
判断字符asc码是否在数字的范围内
追问
但用户输入的是、可能是一位 ,两位或多位,或小数,这该怎么处理呢?他的位数不确定。
追答
你将输入存储进一个足够长的数组 视你限定用户的输入长度而定,然后做一个while判断数组的第i个元素是否为0(注意不是'0’而是0),意即判断是否为空,如果不为空接着将这个字符进行强制数据类型转换为int,之后判断这个整型值是否属于asc码的数字那部分,如果是就i+1,直到读到0,就是空字符,在空字符之前假如都是数字的话,那么这次输入有效,并且存储,如果无效就在让用户输入,或者退出程序。。。
不知道我说清楚了么
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
拆解字符串,每一位对比ASCII。来确定是否在,(48<= a<=57)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |