您的位置:首页 > 编程语言 > C语言/C++

c++实验3——个人所得税计算器

2016-04-07 09:36 801 查看
【一】实验名称:个人所得税计算器

编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。

(1)自选if语句的嵌套或/和switch语句完成程序设计;

(2)下面给出程序的基本框架,请下载使用。

附:关于个人所得税的有关背景知识

计算方法:个人所得税=(收入总额-3500)*税率-速算扣除数

我国个人所得税起征点基数为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

例如:王某月收入总额3600元,个人所得税=(3600-3500)*3%=3元;
再例:李某月收入13500元,个人所得税=(13500-3500)*25%-1005=2500-1005=1495元。

【二】实验步骤

/*
* 文件名称:个人所得税计算器
* 作    者:杨鑫
* 完成日期: 2016年 4 月 7 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:用if语句的嵌套式和if语句的多分支结构进行程序设计
* 输入描述:输入某人本月的收入总额
* 问题描述:连续比较关系之间要用bool型的表达形式
* 程序输出:应缴个人所得税和税后收入
* 问题分析:
* 算法设计:if语句的嵌套
*/
#include <iostream>
using namespace std;
int main( )
{
double dSalary,dTax=0,dNetIncome=0;
cout<<"请输入您本月的收入总额(元):";
cin>>dSalary;
if(dSalary-3500>0)
{
if(0<dSalary-3500 && dSalary-3500<=1500)
dTax=(dSalary-3500)*0.03,dNetIncome=dSalary-dTax;
else if(1500<dSalary-3500 && dSalary-3500<=4500)
dTax=(dSalary-3500)*0.1-105,dNetIncome=dSalary-dTax;
else if(4500<dSalary-3500 && dSalary-3500<=9000)
dTax=(dSalary-3500)*0.2-555,dNetIncome=dSalary-dTax;
else if(9000<dSalary-3500 && dSalary-3500<=35000)
dTax=(dSalary-3500)*0.25-1005,dNetIncome=dSalary-dTax;
else if(35000<dSalary-3500 && dSalary-3500<=55000)
dTax=(dSalary-3500)*0.3-2755,dNetIncome=dSalary-dTax;
else if(55000<dSalary-3500 && dSalary-3500<=80000)
dTax=(dSalary-3500)*0.35-5505,dNetIncome=dSalary-dTax;
else if(dSalary>80000)
dTax=(dSalary-3500)*0.45-13505,dNetIncome=dSalary-dTax;
}
else
dNetIncome=dSalary;
cout<<"您本月应缴个人所得税 "<<dTax<<" 元,税后收入是 "<<dNetIncome<<" 元。\n";
cout<<"依法纳税,共享繁荣。谢谢使用!\n";
return 0;
}


【实验运行结果】





【实验总结】

(1)bool是布尔型变量,也就是逻辑型变量的定义符,类似于float,double等,只不过float定义浮点型,double定义双精度浮点型。

(2)if与else的配对关系:else总是与它上面最近的且未配对的if配对,如果省略某一个else,可用{ }括起该层的if语句来确定层次关系。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: