您的位置:首页 > 其它

第8周项目4-个人所得税计算器(if~else~语句+switch语句)

2014-10-16 16:21 495 查看
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:刘畅
* 完成日期:2014年 10 月 16 日
* 版 本 号:v1.0
*
* 问题描述:输入个人月收入总额,通过“个人所得税=(收入总额-3500)*税率-速算扣除数”和“税后收入=收入总额-个人所得税”,计算出他本月应缴税款和税后收入;
* 输入描述:输入个人月收入总额dSalary,且(在switch语句中)用a代表税率,用b代表速算扣除数;
* 程序输出:输出本月应缴税款dTax和税后收入dNetIncome。
*/
(1)if~else~语句:
#include <iostream>
using namespace std;
int main()
{
    double dSalary,  dTax = 0, dNetIncome = 0;
    cout << "请输入您本月的收入总额(元):";
    cin >> dSalary;
    int x;
    if (dSalary < 3500)
    {
        cout << "您不需要纳税,谢谢使用!\n";
        return 0;
    }
    else
        x = dSalary - 3500;
    if (x <= 1500)
    {
        dTax = (dSalary - 3500) * 0.03;
        dNetIncome = dSalary - dTax;
    }
    else if (x <= 4500)
    {
        dTax = (dSalary - 3500) * 0.10 - 105;
        dNetIncome = dSalary - dTax;
    }
    else if (x <= 9000)
    {
        dTax = (dSalary - 3500) * 0.20 - 585;
        dNetIncome = dSalary - dTax;
    }
    else if (x <= 35000)
    {
        dTax = (dSalary - 3500) * 0.25 - 1005;
        dNetIncome = dSalary - dTax;
    }
    else if (x <= 55000)
    {
        dTax = (dSalary - 3500) * 0.30 - 2755;
        dNetIncome = dSalary - dTax;
    }
    else if (x <= 80000)
    {
        dTax = (dSalary - 3500) * 0.35 - 5505;
        dNetIncome = dSalary - dTax;
    }
    else
    {
        dTax = (dSalary - 3500) * 0.45 - 13505;
        dNetIncome = dSalary - dTax;
    }
    cout << "您本月应缴个人所得税" << dTax << "元,税后收入是"
         << dNetIncome << "元。\n";
    cout << "依法纳税,共享繁荣。谢谢使用!\n";
    return 0;
}


(2)switch语句:

#include <iostream>
using namespace std;
int main()
{
    double dSalary,  dTax = 0, dNetIncome = 0,x,a;
    int t,b;
    cout << "请输入您本月的收入总额(元):";
    cin >> dSalary;
    x=dSalary-3500;
    t=(x<=1500)+(x<=4500)+(x<=9000)+(x<=35000)+(x<=55000)+(x<=80000);
    switch (t)
    {
    case 6:
        a=0.03,b=0;
        break;
    case 5:
        a=0.10,b=105;
        break;
    case 4:
        a=0.20,b=555;
        break;
    case 3:
        a=0.25,b=1005;
        break;
    case 2:
        a=0.30,b=2755;
        break;
    case 1:
        a=0.35,b=5505;
        break;
    default:
        a=0.45,b=13505;
    }
    dTax=x*a-b;
    dNetIncome=dSalary-dTax;
    cout << "您本月应缴个人所得税" << dTax << "元,税后收入是"
         << dNetIncome << "元。\n";
    cout << "依法纳税,共享繁荣。谢谢使用!\n";
    return 0;
}




运行结果:







知识点总结:
成功的在if~else~嵌套和switch语句上迈出了一大步,要充分掌握好switch语句的运用,在这种长代码中感觉还是switch好用。

学习心得:
越发感觉到编出一个成功的程序后是多么快乐,继续加油!!
昨晚的辛苦没有白费,只是实在没有那么多精力去打那些注释了,敬请见谅;不理解的可以在下面评论栏中留言;谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐