一、问题及代码
/*
*文件名称:个人所得税计算器
*作者:张泽桦
*完成日期:2017年3月24日
*版本号: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 dSalary,dTax=0,dNetIncome=0,a;
cout<<"请输入您本月的收入总额(元):";
cin>>dSalary;
if(dSalary<=3500)
{dTax=0, dNetIncome=dSalary;}
else
{
a=dSalary-3500;
if(a<=1500)
{dTax=a*0.03,dNetIncome=dSalary-a*0.03;}
else if(a<=4500)
{dTax=a*0.1-a*0.1-105,dNetIncome=dSalary-a*0.1+105;}
else if(a<=9000)
{dTax=a*0.2-555,dNetIncome=dSalary-a*0.2+555;}
else if(a<=35000)
{dTax=a*0.25-1005,dNetIncome=dSalary-a*0.25+1005;}
else if(a<=55000)
{dTax=a*0.3-2755,dNetIncome=dSalary-a*0.3+2755;}
else if(a<=80000)
{dTax=a*0.35-5505,dNetIncome=dSalary-a*0.35+5505;}
else
{dTax=a*0.45-13505,dNetIncome=dSalary-a*0.45+13505;}
}
cout<<"您本月应缴个人所和税 "<<dTax<<" 元,税后收入是 "<<dNetIncome<<" 元。\n";
cout<<"依法纳税,共享繁荣。谢谢使用!\n";
return 0;
}
二、运行结果
三、心得体会:
对于if else语句的使用仍然有些不熟练,尝试了一节课才勉强学会了if条件语句
四、知识点总结:
else if 后面需要加条件,else 后面不需要加条件,else if可以用来对多个条件进行说明,其中各表达式将被依次求值,一旦某个表达式结果成立,则立即进行相关语句,并终止整个语句序列。有时候并不需要针对默认情况执行操作,这种情况下,可以把该结构末尾的else 语句部分省略,该部分也能用来检查错误,以捕获不可能的条件。