01.#include <iostream>
02.using namespace std;
03.int main()
04.{
05. double dSalary,dTax,dNetIncome;
06. double dValue; //在模板基础上加一个变量,表示超出起征点的收入
07. double dRate, dOffset; //分别表示税率和速算扣除数
08. int iStep; //加入中间量“档次”,便于计算
09. cout<<"请输入您本月的收入总额(元):";
10. cin>>dSalary;
11. dValue=dSalary-3500;
12. if(dValue<=0.0)
13. dTax=0.0;
14. else
15. {
16. if (dValue<=1500)
17. iStep=1;
18. else if (dValue<=4500)
19. iStep=2;
20. else if (dValue<=9000)
21. iStep=3;
22. else if (dValue<=35000)
23. iStep=4;
24. else if (dValue<=55000)
25. iStep=5;
26. else if (dValue<=80000)
27. iStep=6;
28. else
29. iStep=7;
30.
31. switch (iStep)
32. {
33. case 1: dRate=0.03, dOffset=0.0; break;
34. case 2: dRate=0.1, dOffset=105.0; break;
35. case 3: dRate=0.2, dOffset=555.0; break;
36. case 4: dRate=0.25, dOffset=1005.0; break;
37. case 5: dRate=0.3, dOffset=2755.0; break;
38. case 6: dRate=0.35, dOffset=5055.0; break;
39. case 7: dRate=0.45, dOffset=13505.0;
40. }
41. dTax = dValue * dRate - dOffset;
42. }
43. dNetIncome = dSalary-dTax;
44. cout<<"您本月应缴个人所得税 "<<dTax<<" 元,税后收入是 "<<dNetIncome<<" 元。\n";
45. cout<<"依法纳税,共享繁荣。谢谢使用!\n";
46. return 0;
47.}
输出结果: