C++ 第九周任务-个人所得税计算器(switch语句)

来源:互联网 发布:压力容器类别划分软件 编辑:程序博客网 时间:2024/05/21 09:41
* Copyright (c) 2012, 烟台大学计算机学院   *  * All rights reserved.    * * 作    者:王锴英 * * 完成日期:2012 年 10 月 25 日    * * 版 本 号:v1.0   *  * 输入描述:个人月收入总额  *   * 问题描述:按2011年9月1日起我国调整的个人所得税征收办法,起征点为3500元,超出部分按以下7级计算:   * 1 超过0至1500     税率3%   速算扣除数0   * 2 超过1500元至4500元的部分        税率10%   速算扣除数105    * 3 超过4500元至9000元的部分        税率20%   速算扣除数555   * 4 超过9,000元至35,000元的部分     税率25%   速算扣除数1005   * 5 超过35,000元至55,000元的部分    税率30%   速算扣除数2755   * 6 超过55,000元至80,000元的部分    税率35%   速算扣除数5505    * 7 超过80,000以上   税率45%  速算扣除数13505    * 个人所得税=(收入总额-3500)*税率-速算扣除数   * 程序输出:应缴税款和税后收入  * * 问题分析:先判断超出多少,然后根据设定的值运算    * * 算法设计:  *   */      我的程序:  #include <iostream>      using namespace std;    int main()    {    double dSalary,dTax=0,dNetIncome=0,rate,cut,residue;  //cut(速算扣除数),rate(利率),residue(收入差值)   int c;    cout<<"请输入您本月的收入总额:";    cin>>dSalary;    residue=dSalary-3500;    if(residue<=0)    dTax=0;    else    {    if (residue<=1500)    c=1;    else if (residue<=4500)    c=2;    else if (residue<=9000)    c=3;    else if (residue<=35000)    c=4;    else if (residue<=55000)    c=5;    else if (residue<=80000)    c=6;    else    c=7;    switch(a)    {    case 1:    rate=0.03,cut=0;break;    case 2:    rate=0.1,cut=105;break;    case 3:    rate=0.2,cut=555;break;    case 4:    rate=0.25,cut=1005;break;    case 5:    rate=0.3,cut=2755;break;    case 6:    rate=0.35,cut=13505;break;    case 7:    rate=0.45,cut=13505;break;    }    dTax=residue*rate-cut;    }    dNetIncome=dSalary-dTax;    cout<<"您本月应缴个人所得税"<<dTax<<"元,税后收入是"<<dNetIncome<<"元。\n";    cout<<"依法纳税,共享繁荣。谢谢使用!\n";    return 0;    }


运行结果:

原创粉丝点击