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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章课程设计目的与要求

1、1 课程设计的目的

C语言一直就是程序设计语言的主流之一数据类型丰富、齐全。C语言供了整数、实数、字符、字符串等基本数据类型,还提供数组、指针、结构体等构造数据类型,运算符丰富、齐全,运算能力强。C语言提供的运算符为常规运算:常规运算符——算术运算符、逻辑运算符、关系运算符等,这类运算符各种语言一般都具备;

进一步巩固《C程序设计》所学的知识,加强语句类型的应用,熟悉面向过程的结构化与面向对象可视化程序设计方法,培养化程序设计的思想,加深对基本语言要素与结构的理解,锻炼程序设计的能力,以及用C语言解决实际问题的能力。

此课程设计着眼于知识的运用,把平常学的知识运用到实践中来,本身就就是考察我们知识运用能力。要求熟悉运用一些编程软件,对我们所学的理论知识进一步的深化。

1、2 课程设计实现的要求

如今公民纳税意识的增强,需要有方便、简单、快速的工具帮助大家解决工资,个人所得收入的纳税问题。所以我们可以用程序来实现这个功能,在程序设计中,既可以用传统的程序设计方法,也可以用先进的面向对象程序设计方法。

对应用程序的要求:

1、该系统软件可以根据输入的工资数额,得出所需缴纳的税额。

2、得出税后工资;

工资g ;税:t;税后工资m;

3、显示税率

第二章程序设计任务内容

用C语言实现一个工资纳税系统,该系统主要应用在个人工资纳税操作中,其中要求能够准确计算出个人工资或收入的所得税,能够查询到一个人的工资所得税,该系统涉及到的加,减,乘等简单运算,课程设计主要就是使用if语句及switch 语句实现。

按照国家规定,工资低于1600元时,不用缴纳所得税。当工资高于1600时,需按以下规定缴纳所得税:

(税前工资-1600)×税率=个人所得税税额

级数含税级距税率%速算扣除数

1不超过500元的 5 0

2超过500元至2000元的部分 10 25

3超过2000元至5000元的部分15 175

4超过5000元至20000元的部分20 625

5超过20000元至40000元的部分25 3625

超过40000元至60000元的部分30 9625

7超过60000元至80000元的部分35 16625

8超过80000元至100000元的部分40 24625

9超过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

int main()

{

int g,c,j=1600;

float d1=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计算方法

相关文档
最新文档