第9周任务2-个人所得税计算器
#include
using namespace std;
int main()
{double dSalary,dTax,dNetIncome;double dValue; //在模板基础上加一个变量,表示超出起征点的收入double dRate, dOffset; //分别表示税率和速算扣除数int iStep; //加入中间量“档次”,便于计算 cout<<"请输入您本月的收入总额(元):";cin>>dSalary;dValue=dSalary-3500;if(dValue<=0.0) dTax=0.0; else{if (dValue<=1500)iStep=1;else if (dValue<=4500)iStep=2;else if (dValue<=9000)iStep=3;else if (dValue<=35000)iStep=4;else if (dValue<=55000)iStep=5;else if (dValue<=80000)iStep=6;else iStep=7;switch (iStep) {case 1: dRate=0.03, dOffset=0.0; break; case 2: dRate=0.1, dOffset=105.0; break;case 3: dRate=0.2, dOffset=555.0; break;case 4: dRate=0.25, dOffset=1005.0; break;case 5: dRate=0.3, dOffset=2755.0; break;case 6: dRate=0.35, dOffset=5055.0; break;case 7: dRate=0.45, dOffset=13505.0;}dTax = dValue * dRate - dOffset;}dNetIncome = dSalary-dTax;cout<<"您本月应缴个人所得税 "<
运行结果:
心得体会:
课文原文有说:“‘case常量表达式’只是起语句标号作用,并不是在该处进行条件判断。”在这一点上,switch语句不同于if-else语句。case后面只是一个常量表达式,而不应出现条件表达式。故而加入iStep作为中间量,便于switch语句的表达。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
