C语言课程设计集中上机实验报告
学 生: 孙猜胜
学 号:
班 级:
专 业: 电气工程与自动化
重庆邮电大学移通学院
6月
目录
一、课程设计问题描述
设计题目
设计任务要求
二、总体设计
设计中应注意的问题
程序设计流程图
三、详细设计
设计思想
函数说明
程序代码
四、程序运行结果测试与分析
程序调试运行后
输入工资1000的运行结果
输入工资1600的运行结果
输入工资3000的运行结果
输入工资100000的运行结果
五、结论与心得
六参考文献
一、课程设计问题的描述
设计题目
工资纳税系统
个人所得税每月交一次,底线是1600元/月,也就是超过了1600元的月薪才开始计收个人所得税。个人所得税税率表一(工资、薪金所得适用)
级数----------全月应纳税所得额----------税率(%)
1--------------不超过500元的-----------------5
2----------超过500元至2000元的部分----------10
3----------超过2000元至5000元的部分---------15
4----------超过5000元至20000元的部分--------20
5----------超过20000元至40000元的部分-------25
6----------超过40000元至60000元的部分-------30
7----------超过60000元至80000元的部分-------35
8----------超过80000元至100000元的部分------40
9----------超过100000元的部分---------------45
表中的应纳税所得额是指以每月收入额减除1600元后的余额。
计算为:2500-1600=900
应纳个人所得税额=500×5%+400×10% =65
我们用一个大额工资计算,25000元
应纳税所得额=25000-1600=23400
纳个人所
=500×5%+1500×10%+3000×15%+15000×20%+3400×25%=4475
要求:输入工资计算出纳税金额。
2、设计任务要求
要求输入工资计算出纳税金额。
二、总体设计
1、设计中应注意的问题
此问题在我刚看一遍,感觉要用到switch语句,但问题在于纳税金额在超出1600过后,要减去1600,超出的要按不同的税额计算,而分类计算就是这题的关键。
2、程序设计流程图
三、详细设计
1、设计思想
对输入的工资d进行判断,如果输入的不超过1600,那么输出的就是0,在就是先从100000进行判断,如果大于100000,那么就进行计算,小于的话就判断80000,以此类推。
2、函数说明
输入的工资: d
判断超出的金额: g
回到switch语句中的值: n
输出的结果: result
3、程序代码
#include
int main()
{
int d,g,n;
double result;
scanf("%d",&d);
if(d<=1600) result=0;
g=d-1600;
if(g>100000) n=45;
if(g>80000&&g<=100000) n=40;
if(g>60000&&g<=80000) n=35;
if(g>40000&&g<=60000) n=30;
if(g>20000&&g<=40000) n=25;
if(g>5000&&g<=20000) n=20;
if(g>2000&&g<=5000) n=15;
if(g>500&&g<=2000) n=10;
if(g>=0&&g<=500) n=5;
switch(n)
{
case 5: result=g*0.05;break;
case 10: result=(g-500)*0.1+500*0.05;break;
case 15: result=(g-2000)*0.15+1500*0.1+500*0.05;break;
case 20: result=(g-5000)*0.2+3000*0.15+1500*0.1+500*0.05;break;
case 25: result=(g-20000)*0.25+15000*0.2+3000*0.15+1500*0.1+500*0.05;break;
case 30: resul