问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:main.cpp
* 作者:Lingle
* 完成日期:2014年10月19日
* 版本号:v1.0
*
* 问题描述:根据本月收入用公式“个人所得税=(本月收入-3500)*对应税率-速算扣除数”计算个人所得税,并算出税后收入
* 输入描述:dSalary表示本月收入总额
* 程序输出:dTax表示本月应缴纳的个人所得税,dNetIncome为税后收入。b为switch语句中的整型变量,d为速算扣除数,c为税率
*/
#include <iostream>
using namespace std;
int main( )
{
int b,d;
double dSalary,dTax=0,dNetIncome=0,a,c;
cout<<"请输入您本月的收入总额(元):";
cin>>dSalary;
// 下面求解应缴个人所和税dTax和税后收入dNetIncome
if (dSalary<3500)
cout<<"您无须缴纳个人所得税。";
else
a=dSalary-3500;
b=(a<=1500)+(a<=4500)+(a<=9000)+(a<=35000)+(a<=55000)+(a<=80000);
switch (b)
{
default:
c=0.45,d=13505;
break;
case 1:
c=0.35,d=5505;
break;
case 2:
c=0.30,d=2755;
break;
case 3:
c=0.25,d=1005;
break;
case 4:
c=0.20,d=555;
break;
case 5:
c=0.10,d=105;
break;
case 6:
c=0.03,d=0;
break;
}
dTax=a*c-d;
dNetIncome=dSalary-dTax;
cout<<"您本月应缴个人所得税 "<<dTax<<" 元,税后收入是 "<<dNetIncome<<" 元。\n";
cout<<"依法纳税,共享繁荣。谢谢使用!\n";
return 0;
}
运行结果:
学习心得:
这篇断断续续也写了挺久的,case 1,2,3,4,5,6老是标不好,算出来的值竟然有负数,switch语句还得继续加油!