关于工资纳税系统的C课程设计
- 格式:docx
- 大小:15.87 KB
- 文档页数:13
目录
一、课程设计问题描述 (3)
1、课程设计题目 (3)
2、设计任务要求 (4)
二、总体设计 (4)
1、设计中应注意的问题 (4)
2、程序设计流程图 (4)
三、详细设计 (6)
1、设计思想 (6)
2、函数说明 (6)
3、程序代码 (7)
四、程序运行结果测试与分析 (12)
1、程序调试运行后 (12)
2、输入工资1500的运行结果 (13)
3、输入工资1600的运行结果 (13)
4、输入工资2500的运行结果 (13)
五、结论与心得 (13)
六、参考文献 (13)
一、课程设计问题描述
1、课程设计题目
工资纳税系统:个人所得税每月交一次,底线是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、设计中应注意的问题
此问题最大的难题在于计算应纳税金额,因为纳税金额的计算是在超出1600元之后进行的。
因此,在计算应纳税金额时应先减去1600元。
同时,还有一个困难就是在减去1600元之后,在对超出的金额计算纳税金额时需要进行分类计算,而分类计算就是本题的关键所在。
2、程序设计流程图
三、详细设计
1、设计思想
对输入的工资s先减去1600元,如果小于等于0都不用纳税,但如果大于0就要对其进行分类。
如果大于100000,进行第一类计算;如果大于80000,进行第二类计算;如果大于60000,进行第三类计算;如果大于40000,进行第四类计算,如果大于20000,进行第五类计算,如果大于5000,进行第六类计算;如果大于2000,进行第七类计算,如果大于500,进行第八类计算;如果大于0,进行第九类计算。
最后根据不同的计算输出不同的应纳税金额。
2、函数说明
s=工资,x=应纳税工资,pay=应缴税费3、程序代码
# include <stdio.h>
float tax1(float a)
{
float pay1;
pay1=a*0.05;
return(pay1);
}
float tax2(float b)
{
float pay2;
pay2=500*0.05+(b-500)*0.1;
return (pay2);
}
float tax3(float c)
{
float pay3;
pay3=500*0.05+1500*0.1+(c-2000)*0.15;
return (pay3);
}
float tax4(float d)
{
float pay4;
pay4=500*0.05+1500*0.1+3000*0.15+(d-5000)*0.2;
return (pay4);
}
float tax5(float e)
{
float pay5;
pay5=500*0.05+1500*0.1+3000*0.15+15000*0.2+(e-20000)*0.25;
return (pay5);
}
float tax6(float f)
{
float pay6;
pay6=500*0.05+1500*0.1+3000*0.15+15000*0.2+20000*0.25+(f-40000)*0.3;
return (pay6);
}
float tax7(float g)
{
float pay7;
pay7=500*0.05+1500*0.1+3000*0.15+15000*0.2+20000*0.25+20000*0.3+(g-6000 0)*0.35;
return (pay7);
}
float tax8(float h)
{
float pay8;
pay8=500*0.05+1500*0.1+3000*0.15+15000*0.2+20000*0.25+20000*0.3+20000*0 .35+(h-80000)*0.4;
return (pay8);
}
float tax9(float i)
{
float pay9;
pay9=500*0.05+1500*0.1+3000*0.15+15000*0.2+20000*0.25+20000.3+20000*0.3 5+20000*0.4+(i-100000)*0.45;
return (pay9);
}
void main ()
{
float x,s,pay;
printf(" 欢迎使用工资纳税系统!\n\n\n"); printf("请输入您要计算的工资:\n\n"); scanf("%f",&s);
x=s-1600;
if(x<=0)
printf("您不用纳税!\n\n");
else {
if(x>100000) pay=tax9(x);
else {
if(x>80000) pay=tax8(x);
else {
if(x>60000) pay=tax7(x);
else {
if(x>40000) pay=tax6(x);
else {
if(x>20000) pay=tax5(x);
else {
if(x>5000) pay=tax4(x);
else {
if(x>2000) pay=tax3(x);
else {
if(x>500) pay=tax2(x);
else pay=tax1(x);
}}}}}}}
printf("您需纳税的金额为:%f\n\n", pay);
}
}
四、程序运行结果测试与分析
1、程序调试运行后
2、输入工资1500的运行结果
当输入1500元时,小于1600元,因此不用纳税。
3、输入工资1600的运行结果
当输入1600元时,由于和1600元相等,因此也不用纳税。
4、输入工资2500的运行结果
当输入2500元时,由于超出1600元,因此需纳税,且金额为65元。
五、结论与心得
在写程序中我感觉最大的困难就是在对应纳税工资进行分类的程序设计上,因为它是本题的关键。
其次,在对应纳税工资的计算与程序设计上我也是下了很大的功夫。
通过此次的设计课程,我对C/C++也有了更深的了解。
同时,也学到一些程序设计的技巧。
感觉要想设计出好的程序,就先要学好C/C++的基础知识,其次要在大脑中有关于该程序的设计构思,最后再根据自己的构思,设计出程序。
同时,如果要写好程序,也需要学好数学以及英语,只有这样才能写好程序。
六、参考文献
[1] 百度文库:工资纳税系统的C/C++程序设计代码
[2] 贾宗璞许合利;C语言程序设计;人民邮电出版社;2011.8。