| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1038 人关注过本帖
标题:有关字符处理问题
只看楼主 加入收藏
九天冥盟
Rank: 2
等 级:论坛游民
威 望:1
帖 子:77
专家分:20
注 册:2015-7-14
结帖率:36%
收藏
已结贴  问题点数:20 回复次数:6 
有关字符处理问题
下面的代码是,解决所输入的路程,来求其所需的费用、
那么问题是:如何才能识别所输入的是数字而不是其他字符;
void main()
{
    int i,flag;
    float l, sum;
    for(i=0;i<2;i++)
    {
        flag=1;
        do
        {
            fflush(stdin);
            if(flag==1)
            {
                printf("qing %dth shu ru ru cheng:",i+1);
                flag=0;
            }
            else
            {
                printf("Sorry,Error,Pls input again(0~100):");
            }

            scanf("%g",&l);
            if(l>0&&l<100)
                break;
        }while(1);
        if(l<=2)
            sum=8;
        else
            sum=8+(l-2)*2.1;
        printf("sum:%g RMB\n",sum);
    }
    getch();
}
输入其他字符的运行结果:
qing 1th shu ru zi mu:9
sum:22.7 RMB
qing 2th shu ru zi mu:a
sum:22.7 RMB
请按任意键继续. . .
搜索更多相关主题的帖子: 字符 输入 flag sum printf 
2017-10-23 19:36
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:10 
while( scanf("%g",&l)==1)

早知做人那么辛苦!  当初不应该下凡
2017-10-23 20:01
九天冥盟
Rank: 2
等 级:论坛游民
威 望:1
帖 子:77
专家分:20
注 册:2015-7-14
收藏
得分:0 
回复 2楼 炎天
为什么 不论输入什么字符都会跳出循环呢?
2017-10-23 20:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:10 
scanf("%g",&l); 是有返回值的,有没有读入成功判断一下其返回值就知道了

另外,fflush(stdin) 等典型错误都是跟谁学的?!
2017-10-24 08:26
九天冥盟
Rank: 2
等 级:论坛游民
威 望:1
帖 子:77
专家分:20
注 册:2015-7-14
收藏
得分:0 
回复 4楼 rjsp
本人大一,为什么说用fflush(stdio),是错误呢?  还有请问明明变量l是float,为什么输入字母也可以跳出循环??
2017-10-24 16:17
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
收藏
得分:0 
回复 5楼 九天冥盟
如果是我,我会百度 scanf()的返回值, fflush(stdin),

早知做人那么辛苦!  当初不应该下凡
2017-10-24 17:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
关于 fflush
看 http://en. 中的说明
For input streams (and for update streams on which the last operation was input), the behavior is undefined.
2017-10-24 18:52
快速回复:有关字符处理问题
数据加载中...
 
   



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

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