| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1305 人关注过本帖
标题:求助,这个计算工资的程序有什么错误?
只看楼主 加入收藏
yqjwy_2008
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-10-26
收藏
 问题点数:0 回复次数:5 
求助,这个计算工资的程序有什么错误?
#include<stdio.h>
float main()
{
    int type;
    float time,salay,number,piece,fix_wages,wages;            //定义工作时间、计时工资、产品件数、计件薪水、固定工资、应发工资//
    float tax,tax_dues,actual_wages;                        //定义交税工资、个人所得税、实际工资//
    printf("请输入工资类型:\n");
    scanf("%f",&type);
    switch(type)
    {
    case 1:{
            printf("请输入工作时间及每小时的薪水:\n");
            scanf("%f%f",&time,&salay);
            wages=time*salay;
            break;
           }
    case 2:{
            printf("请输入完成产品件数和每件薪水:\n");
            scanf("%f%f",&number,&piece);
            wages=number*piece;
            break;
           }
    case 3:{
            printf("请输入每月固定的应发工资:\n");
            scanf("%f",&fix_wages);
            wages=fix_wages;
            break;
           }
    }
    tax=wages-2000;
    if(tax<=0)
        tax_dues=0;
        else if(tax<=500)
                tax_dues=tax*0.05;
            else if(tax<=2000)
                    tax_dues=(500*0.05)+(tax-500)*0.1;
                else if(tax>2000)
                        tax_dues=(500*0.05)+(1500*0.1)+(tax-2000)*0.15;
    actual_wages=wages-tax_dues;
    printf("wages=%6.2f,tax_dues=%6.2f,actual_wages=%6.2f\n",wages,tax_dues,actual_wages);
}


为什么输出结果是乱的?
搜索更多相关主题的帖子: 工资 
2008-10-27 23:52
ztj20080808
Rank: 1
等 级:新手上路
威 望:1
帖 子:36
专家分:0
注 册:2008-10-27
收藏
得分:0 
回复 1# yqjwy_2008 的帖子
1.main()函数返回类型一般应为int,此为float,不对;
2.不管是float还是int作为main()返回类型,函数结尾都要有return 返回结果语句,但是您的程序里没有;
3.您已经将工资类型变量type定义为int型,所以在输入时,不能为%f,应为%d。
2008-10-28 11:21
wentaiyou
Rank: 2
等 级:论坛游民
帖 子:68
专家分:17
注 册:2004-12-3
收藏
得分:0 
楼上说的对.
主要错误在 scanf("%f",&type);
改为scanf("%d",&type);

假如回到过去.我能做些什么? 还是和现在这样有时间没事情?
2008-10-28 13:12
yqjwy_2008
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2008-10-26
收藏
得分:0 
谢谢!
以后写程序的时候一定要注意细节。
2008-10-28 17:46
clarksjtv
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2007-5-28
收藏
得分:0 
为什么我把楼主的程序代进去,运行是错误的了。
比如我输入工资2000
wages= 0.00,tax_dus= 0.00,actual_wages=1.#R

请问错误错在哪里。
2008-10-29 20:20
xiaocaimiao
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2008-10-6
收藏
得分:0 
我运行了下,如果把中文改成英文的,后面的注释去掉,就不会乱码了,五楼的环境可能不支持中文吧!可能会有错误吧
2008-10-29 22:08
快速回复:求助,这个计算工资的程序有什么错误?
数据加载中...
 
   



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

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