| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 885 人关注过本帖
标题:为什么只有第三个scanf不运行?新手求教
取消只看楼主 加入收藏
寻九雨
Rank: 1
等 级:新手上路
帖 子:14
专家分:4
注 册:2012-11-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
为什么只有第三个scanf不运行?新手求教
#include<stdio.h>
int main()
{
    char goods[20],c[3];
    int num,total;
    float price,sum,in;
    printf("----------------欢迎使用数字购物清单------------------\n");
    do{
        printf("请输入商品名称:\n");
        scanf("%s",&goods);
        printf("请输入商品价格:\n");
        scanf("%4.2f",&price);
        printf("请输入商品数量:\n");
        scanf("%d",&num);
        printf("小计\n数量:%d\t金额:%4.2f\n",total+=num,sum+=(price*num));
        printf("是否继续录入?\n输入yes继续,no结算\n");
        scanf("%s",c);
    }while(strcmp(c,"yes")==0);
    printf("合计\n数量:%d\t金额%4.2f\n",total,sum);
    printf("请输入实收金额:\n");
    scanf("%4.2f",&in);
    printf("应收:%4.2f\t实收:%4.2f\n",total,in);
    if(in>total){
        printf("找零:%4.2f",in-total);
    }
            else{
            printf("对不起,需补款:%4.2f",total-in);
            }
        return 0;
}
搜索更多相关主题的帖子: 商品 total include price 
2012-12-01 22:46
寻九雨
Rank: 1
等 级:新手上路
帖 子:14
专家分:4
注 册:2012-11-27
收藏
得分:0 
程序代码:
#include<stdio.h>
int main()
{
    char goods[20],c[3];                    //商品名,退出标识符
    int num,total,i;                        //商品数量,数量总计,i是scanf返回值
    float price,sum,in;                        //商品单价,金额总计,实收金额
    printf("----------------欢迎使用数字购物清单------------------\n");
    do{
        printf("请输入商品名称:\n");
        scanf("%s",&goods);
        printf("请输入商品价格:\n");
        scanf("%4.2f",&price);
        printf("请输入商品数量:\n");                                                //前两个scanf都可以输入,只有第三个不行,为什么?
        i=scanf("%d",&num);
        printf("第三个scanf有效录入%d个",i);                                        //最坑爹在这,scanf 有返回值不是代表录入有效么!
        total+=num;
        sum+=(price*num);
        printf("小计\n数量:%d\t金额:%4.2f\n",total,sum);                            //输出每种商品的购买数量,金额累计
        printf("是否继续录入?\n输入yes继续,no结算\n");
        scanf("%s",c);
    }while(strcmp(c,"yes")==0);                                                        //循环输入
    printf("合计\n数量:%d\t金额%4.2f\n",total,sum);                                //合计
    printf("请输入实收金额:\n");                                                    //录入实收,找零,提醒补款
    scanf("%4.2f",&in);
    printf("应收:%4.2f\t实收:%4.2f\n",total,in);
    if(in>total){
        printf("找零:%4.2f\n",in-total);
    }
            else{
            printf("对不起,需补款:%4.2f\n",total-in);
            }
        return 0;
}
昨天用别人电脑发的太匆忙,今天发个好点的,有人看帖的话,他就不用云里雾里了,不过辛苦回答问题的朋友了,谢谢 !
论坛里热心的朋友好多哇,呵呵,谢谢你们~
2012-12-02 17:50
寻九雨
Rank: 1
等 级:新手上路
帖 子:14
专家分:4
注 册:2012-11-27
收藏
得分:0 
回复 4楼 神龙赖了
谢谢指点,可以再问你一个问题么
total = 0U中 U有什么意义?百度上没找到,谢谢
2012-12-02 18:02
寻九雨
Rank: 1
等 级:新手上路
帖 子:14
专家分:4
注 册:2012-11-27
收藏
得分:0 
回复 10楼 神龙赖了
你误会啦,我不是要再问一遍,是想让在论坛里提问搜答案朋友,看这张贴是能明白我要提问的具体问题,恩~算是为后人造福吧,呵呵,
不过你有好耐心,谢谢回答啊
2012-12-02 18:08
快速回复:为什么只有第三个scanf不运行?新手求教
数据加载中...
 
   



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

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