标题:输入性判断问题
只看楼主
gymds
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-4-13
结帖率:40%
已结贴  问题点数:10 回复次数:6 
输入性判断问题
#include<stdio.h>
main()
{double price;
printf("请输入单价值:");
scanf("%lf",&price);
printf("单价值为:%.2lf\n",price);
}
若输入数字,则程序能正常进行,但是万一我输入字母abc,输出单价就不正常,
我是希望万一输入的字符串有字母,即会报错,应该怎么操作,请求大家帮帮忙,谢谢!
搜索更多相关主题的帖子: double 字符串 price 价值 
2015-04-27 19:34
xpj641894267
Rank: 1
等 级:新手上路
帖 子:6
专家分:5
注 册:2014-4-23
得分:2 
先当字符串输入逐个判断是否为数字和小数点以外的字符,如果是有这样的字符,输出“输入错误”,若没有,将其转换会数字,继续执行
2015-04-27 20:14
不知风起
Rank: 1
等 级:新手上路
帖 子:3
专家分:2
注 册:2015-4-23
得分:2 
scanf("%lf",&price);这一句已经定义输入的price为长实型,输入字母后输出单价肯定不正常,至于输入的字符串有字母,即会报错,这个要用if来判断
2015-04-27 20:16
q295323996
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2014-12-19
得分:2 
double型只能存放浮点型数据,也就是小数,要输入字母就把double 改为 char ,要存放字符串就要字符数组来存放,要报错的的话就这样写
#include<stdio.h>
main()
{double price;
printf("请输入单价值:");
scanf("%lf",&price);
if(price<0)
printf("请输入正确的单价值");
else
printf("单价值为:%.2lf\n",price);
}
2015-04-27 20:21
gymds
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2015-4-13
得分:0 
我正在做一个商品信息管理系统,上面需要输入单价,需要对输入进行验证性判断,即若输入的单价中存在除数字外的字符,就会报错!应该怎么做呢?
2015-04-27 22:48
maqiangdemo
Rank: 2
等 级:论坛游民
帖 子:78
专家分:98
注 册:2014-2-26
得分:2 
回复 楼主 gymds
字符类型  char
2015-04-28 09:07
TAAAAB
Rank: 7Rank: 7Rank: 7
来 自:湖南
等 级:黑侠
威 望:1
帖 子:243
专家分:635
注 册:2011-5-29
得分:2 
程序代码:
while (scanf("%lf",&price) != 1)
{
    puts("请输入正确的价格");
}

人有多懒,编程就有多难。
2015-04-28 10:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-444570-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021295 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved