上机目的:学会使用循环控制语句解决实际问题
上机内容:编写多分支选择结构程序,根据个人月收入总额,计算出应缴税款和税后收入
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者: 王立强
* 完成日期:2012 年10 月 25 日
* 版 本 号:v4.04
* 输入描述:个人月收入总额
* 问题描述:按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)*税率-速算扣除数
* 程序输出:应缴税款和税后收入(要求用if语句的嵌套完成程序设计)
* 问题分析: 略
* 算法设计:略
#include <iostream>
using namespace std;
int main( )
{
double b,c,dSalary,dTax=0,dNetIncome=0;
int iStep;
cout<<"请输入您本月的收入总额(元):";
cin>>dSalary;
if(dSalary<=3500)
dTax=0;
else
{
if(dSalary<=5000)
iStep=1;
else if(dSalary<=8000)
iStep=2;
else if(dSalary<=12500)
iStep=3;
else if(dSalary<=38500)
iStep=4;
else if(dSalary<=58500)
iStep=5;
else if(dSalary<=83500)
iStep=6;
else if(dSalary>83500)
iStep=7;
switch(iStep)
{
case 1:c=0.03,b=0;break;
case 2:c=0.1,b=105;break;
case 3:c=0.2,b=555;break;
case 4:c=0.25,b=1005;break;
case 5:c=0.3,b=2755;break;
case 6:c=0.35,b=5505;break;
case 7:c=0.45,b=13505;break;
}
dTax=(dSalary-3500)*c-b;
dNetIncome=dSalary-dTax;
}
cout<<"您本月应缴个人所和税:"<<dTax<<"税后收入是:"<<dNetIncome<<endl;
return 0;
}