项目26.4个人所得税计算器switch语句

来源:互联网 发布:ghost网络克隆软件 编辑:程序博客网 时间:2024/06/01 18:55

任务和代码:写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入

/*文件名:main.c作者:小风景完成日期:2015.9.11问题描述:  编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入程序输出:本月应缴税款和税后收入*/#include <stdio.h>int main ( ){    double dSalary,dTax=0,dNetIncome=0,dsum;    int igrade;    printf("请输入您本月的收入总额(元):");    scanf("%lf", &dSalary);    igrade = (dSalary < 3500) + (dSalary < 4500) + (dSalary < 8000) + (dSalary < 12500) +(dSalary < 38500)+ (dSalary < 58500) + (dSalary < 83500);    dsum = dSalary -3500;        switch(igrade)        {        case 7:            dTax = 0;            dNetIncome = dSalary;            break;        case 6:            dTax = dsum * 3.0 / 100;            dNetIncome = dSalary - dTax;            break;        case 5:            dTax = dsum * 10.0 / 100 - 105;            dNetIncome = dSalary - dTax;            break;        case 4:            dTax = dsum * 20.0 / 100 -555;            dNetIncome = dSalary - dTax;            break;        case 3:            dTax = dsum * 25.0 / 100 -1005;            dNetIncome = dSalary - dTax;            break;        case 2 :            dTax = dsum * 30.0 / 100 -2755;            dNetIncome = dSalary - dTax;            break;        case 1:            dTax = dsum * 35.0 / 100 -5505;            dNetIncome = dSalary - dTax;            break;        case 0:            dTax = dsum * 45.0 / 100 -13505;            dNetIncome = dSalary - dTax;            break;        default:            printf("您的输入不正确!");            break;        }    printf("您本月应缴个人所和税 %.2lf 元,税后收入是 %.2lf 元。\n", dTax, dNetIncome);    printf("依法纳税,共享繁荣。谢谢使用!\n");    return 0;}

运行结果:





总结:这个程序写的并不完美,从输入上来说,可能输入负数,这时依然进入的是case 7语句中,并没有进入到我们想进入的default语句中,所以要想避免这种情况应该在前面加入一个if语句判断输入的值的正负,输入负数应输出错误。

当然,如果仅从逻辑上来说这个程序是正确的,因为收入不可能是负数。

---------------------------------------------------------------------------------------------------------------------------

让时间说真话,虽然我也害怕。

0 0
原创粉丝点击