当前位置:文档之家› C语言程序设计,纳税工资系统

C语言程序设计,纳税工资系统

第一章课程设计目的和要求1.1 课程设计的目的C语言一直是程序设计语言的主流之一数据类型丰富、齐全。

C 语言供了整数、实数、字符、字符串等基本数据类型,还提供数组、指针、结构体等构造数据类型,运算符丰富、齐全,运算能力强。

C 语言提供的运算符为常规运算:常规运算符——算术运算符、逻辑运算符、关系运算符等,这类运算符各种语言一般都具备;进一步巩固《C程序设计》所学的知识,加强语句类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养化程序设计的思想,加深对基本语言要素和结构的理解,锻炼程序设计的能力,以及用C语言解决实际问题的能力。

此课程设计着眼于知识的运用,把平常学的知识运用到实践中来,本身就是考察我们知识运用能力。

要求熟悉运用一些编程软件,对我们所学的理论知识进一步的深化。

1.2 课程设计实现的要求如今公民纳税意识的增强,需要有方便、简单、快速的工具帮助大家解决工资,个人所得收入的纳税问题。

所以我们可以用程序来实现这个功能,在程序设计中,既可以用传统的程序设计方法,也可以用先进的面向对象程序设计方法。

对应用程序的要求:1、该系统软件可以根据输入的工资数额,得出所需缴纳的税额。

2、得出税后工资;工资g ;税:t;税后工资m;3、显示税率第二章程序设计任务内容用C语言实现一个工资纳税系统,该系统主要应用在个人工资纳税操作中,其中要求能够准确计算出个人工资或收入的所得税,能够查询到一个人的工资所得税,该系统涉及到的加,减,乘等简单运算,课程设计主要是使用if语句及switch语句实现。

按照国家规定,工资低于1600元时,不用缴纳所得税。

当工资高于1600时,需按以下规定缴纳所得税:(税前工资-1600)×税率=个人所得税税额级数含税级距税率%速算扣除数1不超过500元的502超过500元至2000元的部分10253超过2000元至5000元的部分151754超过5000元至20000元的部分206255超过20000元至40000元的部分253625超过40000元至60000元的部分3096257超过60000元至80000元的部分35166258超过80000元至100000元的部分40246259超过100000元的部分4531625表中的应纳税所得额是指以每月收入额减1600元按公式计算后的余额。

例如:计算为:2500-1600=900应纳个人所得税额=500×5%+400×10% =65再比如:我们用一个大额工资计算,25000元应纳税所得额=25000-1600=23400应纳个人所得税税额=500×5%+1500×10%+3000×15%+15000×20%+3400×25%=4475要求:输入工资计算出纳税金额。

第三章详细设计说明3.1 模块3.1.1 模块描述声明函数,定义两个变量g和t,m;创建一个工资纳税系统计算函数,实现个人工资所得税的计算、查询。

在程序中输入的内容包括:(1)输入个人工资实现过程:根据提示输入个人工资数据(2)个人所得税的计算实现过程(3)显示税率3.1.2 功能模块图此系统的函数功能模块图如图1所示。

图1 函数功能模块图3.2 性能该模块性能要求(1)灵活性要求输出的数据能准确的按照操作代码输出。

(2)时间特性要求输入的各项操作代码能及时反应其运行结果。

3.3 算法说明该程序采用一系列if语句及switch语句来达到计算目的3.4 函数说明工资纳税计算函数(1)原型:int main()(2)功能:该函数用来计算输入工资的所得税(3)流程图:如图2所示图2(4)对应代码#include<stdio.h>int main(){int g,c,j=1600;floatd1=0.05,d2=0.1,d3=0.15,d4=0.2,d5=0.25,d6=0.3,d7=0.35,d8=0.4,d9 =0.45,m,t;printf("欢迎进入工资纳税系统\n");printf(" 税率表\n");printf("级数含税级距税率(% %)\n");printf(" 1 不超过500元的 5 \n"); printf(" 2 超过500元至2000元的部分10\n "); printf(" 3 超过2000元至5000元的部分15\n "); printf(" 4 超过5000元至20000元的部分20\n "); printf(" 5 超过20000元至40000元的部分25\n "); printf(" 6 超过40000元至60000元的部分30\n "); printf(" 7 超过60000元至80000元的部分35\n "); printf(" 8 超过80000元至100000元的部分40\n ");printf(" 9 超过100000元的部分45\n "); printf("\n请输入工资:\n");scanf ("%d",&g);if (g<=j)t=0;// g不超过1600元时t的值else if(g>j)c=(g-j)/500;else if(c>200)t=(g-j-100000)*d9+31625;// (g-j)超过100000元时t计算方法switch(c){case 0:t=(g-j)*d1;// (g-j)不超过500元时t计算方法case 1:case 2:case 3:case 4:t=(g-j-500)*d2+25;break;//1~4;(g-j)超过500元但不超过2000元时t计算方法case 5:case 6:case 7:case 8:case 9:case 10:t=(g-j-2000)*d3+175;break;//5~10;(g-j)超过2000元但不超过5000元时t计算方法case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:t=(g-j-5000)*d4+625;break; //11~40;(g-j)超过5000元但不超过20000元时t计算方法case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 53: case 54: case 55: case 56: case 57: case 58: case 59: case 60: case 61: case 62: case 63: case 64: case 65: case 66: case 67: case 68: case 69: case 70: case 71: case 72: case 73:case 75:case 76:case 77:case 78:case 79:case 80:t=(g-j-20000)*d5+3625;break;// 41~80;(g-j)超过20000元但不超过40000元时t计算方法case 81:case 82:case 83:case 84:case 85:case 86:case 87:case 88:case 89:case 90:case 91:case 92:case 93:case 94:case 96: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116:case 118:case 119:case 120:t=(g-j-40000)*d6+9625;break;// 81~120;(g-j)超过40000元但不超过60000元时t计算方法case 121:case 122:case 123:case 124:case 125:case 126:case 127:case 128:case 129:case 130:case 131:case 132:case 133:case 134:case 135:case 136:case 137:case 139: case 140: case 141: case 142: case 143: case 144: case 145: case 146: case 147: case 148: case 149: case 150: case 151: case 152: case 153: case 154: case 155: case 156: case 157: case 158: case 159:case 160:t=(g-j-40000)*d7+16625;break;// 121~160;(g-j)超过60000元但不超过80000元时t计算方法case 161:case 162:case 163:case 164:case 165:case 166:case 167:case 168:case 169:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 179:case 180:case 181:case 183:case 184:case 185:case 186:case 187:case 188:case 189:case 190:case 191:case 192:case 193:case 194:case 195:case 196:case 197:case 198:case 199:case 200:t=(g-j-80000)*d8+24625;break;// 161~200;(g-j)超过80000元但不超过100000元时t计算方法}printf("个人所得税:t=%10.2f\n",-t);printf("税后工资:m=%10.2f\n",m);}3.5 限制条件在输入值时必须按照程序所规定的输入,否则将运行错误或无法运行。

相关主题