1、学号 高级语言程序设计 课程设计报告题目: 专业:班级:姓名:学号:指导教师:成绩:计算机与信息工程系2012-2013 学年 第二学期计算机与信息工程系 XXX 课程设计报告1 年 月 日计算机与信息工程系 XXX 课程设计报告1 目录1 设计内容及要求.21.1 设计内容.21.2 设计任务及具体要求.22 概要设计.32.1 该系统的功能简介.32.2 总体程序框图.32.3 各个模块之间的主要关系43 3 设计过程或程序代码53.1 各个模块的程序流程图及运行界面53.2 对关键代码加以分析说明.154 程序调试分析.235 小结.25致谢.26参考文献.27附:源程序.28计算机与信
2、息工程系 XXX 课程设计报告1 1 设计内容及要求1.1 设计内容工资管理查询系统主要根据课程设计要求进行设计,并了解了公司的职工的工资工作流程,该系统功能主要包括六大模块:1)职工个人说得税的计算模块,根据工资多余 5000,在 10005000 之间,少余 1000 三种情况进行计算。2)添加职工的工资信息模块,用户根据输入职工编号后,对工资信息进行录入。3)职工工资查询模块,根据用户输入职工编号后,方可进行查询。4)职工工资修改模块,用户输入职工编号后,对以前的信息进行修改。5)数据输出模块,输出其相应的模块功能。6)职工工资统计模块,根据输入的职工信息进行统计。 1.2 设计任务及具
3、体要求主要利用 c 语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:工资录入,按人名、基本工资、实发工资、个人所得税进行查询和按部门进行分类统计。操作界面要符合用户的一般习惯,图形或文本界面都可以。要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识; 提高学生用高级语言进行程序设计的能力,重点提高用 C 语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤; 提高撰写技术文档的能力。计算机与信息工程系 XXX 课程设计报告1 2 概要设计2.1 系统的功能简介该系统的主要功能是实现职工工资的录入,包括(录入职工的基本
4、工资、实发工资、津贴、岗贴、补贴、房帖、交通补贴、储蓄、汇费) 。对职工的工资信息进行删除、修改、个人所得税的计算。并统计职工的所有信息。2.2 总体程序框图图 2.2-A 总体程序图 2.2-B 添加职工的工资信息2.2 各个模块之间的主要关系该程序的功能主要是实现职工工资的录入,并对工资的相应信息进行个人Main(职工工资管理系统)添加职工的工资信息计算个人所得税修改工人记录查询工资信息统计工资信息删除个人工资信息基本工资津贴补贴交通补贴房租储蓄汇费实发工资岗贴房帖添加职工的工资信息计算机与信息工程系 XXX 课程设计报告1 所得税的计算。各个模块之间的关系是相互联系的。首先,主函数包含了
5、所有的子函数。主函数是整个程序的核心。子函数之间也是有联系的,对个人所得税的计算、职工工资信息的修改、删除、查询、统计,必须是在职工工资录入的情况下进行的。因此对职工工资信息的录入是非常重要的。在职工工资的修改、删除、查询、统计与个人所得税所有的子函数之间是没有多大联系的。3 设计过程或程序代码3.1 各个模块的程序流程图1)主函数程序(N-S)流程图及运行界面主函数程序(N-S)流程图(见图 3.1-A)主函数 main()定义变量 char ch;n=0;while(TRUE)ch=getche();switch(ch)case 1: addone();break; 添加职工信息case
6、2:delone();break; 删除个人记录case 3:modone();break; 修改个人记录case 4:idone();break; 查找职工记录case 5:listall();break; 统计职工记录case 6:wfile();break;将信息写入文件当中case 7:rfile();break;从文件中读取信息case 8:exit(0);退出系统default:printf(“对不起,请重新选择!n“);图 3.1-A 主函数程序简单说明:该功能主要显示的是给用户一个进入界面,它主要的是显示该程序主要能够执行的有哪些功能。下面是显示给用户的界面。 (见图 3.1-
7、A) 计算机与信息工程系 XXX 课程设计报告1 主函数程序运行界面:图 3.1B 主函数界面2)职工个人所得税(N-S)流程图(见图 3.1-B)图 3.2-A 职工个人所得税程序该程序主要根据职工的工资信息进行个人所得税的计算,当个人所得税 m大于等于 5000 时,个人所得税 tmp 为(m-5000)*0.2;在 1000=5000假 真计算工资大于等于 5000 时的个人所得税1000=中选择)n“);/printf(“_n“);printf(“tt 1.增加职工的工资信息 n“);printf(“tt 2.删除某职工的工资信息 n“);printf(“tt 3.改变某职工的工资信息
8、 n“);printf(“tt 4.输出某职工的所有工资信息 n“);printf(“tt 5.统计所有的职工工资信息 n“);printf(“tt 6.保存日期 n“);printf(“tt 7.下载日期 n“);printf(“tt 8.退出 n“);printf(“=n“);printf(“ttt 请选择(1-8) n“);ch=getche();switch(ch)计算机与信息工程系 XXX 课程设计报告1 case 1: addone();break;case 2:delone();break;case 3:modone();break;case 4:idone();break;ca
9、se 5:listall();break;case 6:wfile();break;case 7:rfile();break;case 8:exit(0);default:printf(“对不起,请重新选择!n“);/*计算个人所得税*/double tgrsds(double m)double sui1,sui2,sui3;double tmp;sui1=0;sui2=0;sui3=0;if(m=5000)sui1=(m-5000)*0.2;sui2=(5000-1000)*0.1;sui3=(1000-800)*0.05;else if(m=1000 printf(“Record NO.
10、%d n“,n+1);printf(“请输入月份: n“);gets(numstr);zgn.month=atoi(numstr);printf(“输入职工基本信息n“);printf(“请输入职工的职工编号: n“);gets(numstr);zgn.id=atof(numstr);printf(“请输入职工的基本工资: n“);gets(numstr);zgn.jbgz=atof(numstr);/ printf(“请输入职工的姓名:n);计算机与信息工程系 XXX 课程设计报告1 /gets(numster);printf(“请输入职工的津贴: n“);gets(numstr);zgn.
11、jt=atof(numstr);printf(“请输入职工的岗贴: n“);gets(numstr);zgn.gt=atof(numstr);printf(“请输入职工的补贴: n“);gets(numstr);zgn.bt=atof(numstr);printf(“请输入职工的房帖: n“);gets(numstr);zgn.ft=atof(numstr);printf(“请输入职工的交通补贴: n“);gets(numstr);zgn.jtbt=atof(numstr);zgn.sfgz=(zgn.jbgz)+(zgn.jt)+(zgn.gt)+(zgn.bt)+(zgn.ft)+(zgn.jtbt);printf(“请输入职工的房租: n“);gets(numstr);zgn.fz=atof(numstr);printf(“请输入职工的储蓄: n“);gets(numstr);zgn.cx=atof(numstr);printf(“请输入职工的会汇: n“);gets(numstr);zgn.hf=atof(numstr);zgn.grsds=tgrsds(zgn.sfgz);