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

c++第3次实验—项目1:个人所得税计算器

2016-04-07 11:49 274 查看
一问题与分析

/*
* 文件名称:yue.obj
* 作    者:汪荣悦
* 完成日期:2016 年 4月 7日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分: 关于个人所得税的有关背景知识
计算方法:个人所得税=(收入总额-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
* 输入描述:无
* 问题描述:个人所得税计算器
* 程序输出:编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入

* 问题分析:略
* 算法设计:略
*/
#include <iostream>
using namespace std;
int main( )
{
double dRate,dTax=0,dNetIncome=0;
int dSalary,b;//b为速算扣除数
cout<<"请输入您本月的收入总额(元):";
cin>>dSalary;
// 下面求解应缴个人所得税dTax和税后收入dNetIncome
if(dSalary<3500)
{
dTax=0;
dNetIncome=dSalary;
}
else
{
if((dSalary-3500)<9001)
{

switch((dSalary-3500)/1500)
{
case 0: ;
case 1:dRate=0.03,b=0;  break;
case 2: ;
case 3:dRate=0.10,b=105;  break;
case 4: ;
case 5: ;
case 6:dRate=0.20,b=555;  break;
}
}
else
{
if((dSalary-3500)<35001)
dRate=0.25,b=1005;
if((dSalary-3500)<55000)
dRate=0.30,b=2755;
if((dSalary-3500)<80000)
{
dRate=0.35,b=5505;
}
else
{
dRate=0.45,b=13505;
}
}

dTax=(dSalary-3500)*dRate-b;
dNetIncome =dSalary-dTax;
}
cout<<"您本月应缴个人所得税 "<<dTax<<" 元,税后收入是 "<<dNetIncome<<" 元。\n";
cout<<"依法纳税,共享繁荣。谢谢使用!\n";
return 0;
}


二 测试用例







三 心得体会

这次用if语句的嵌套和switch语句配合使用,编程编了好久,错误也出现了很多,感觉改错误有点难。

四 总结

(1)switch语句中必须用int型常量;

(2)运算符运算时,要注意运算符的优先级,必要时要记得添加();

(3)用if语句的嵌套时,记得{ }的配套
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: