C语言课程设计工资管理系统.doc

上传人:h**** 文档编号:100499 上传时间:2018-07-06 格式:DOC 页数:58 大小:7.50MB
下载 相关 举报
C语言课程设计工资管理系统.doc_第1页
第1页 / 共58页
C语言课程设计工资管理系统.doc_第2页
第2页 / 共58页
C语言课程设计工资管理系统.doc_第3页
第3页 / 共58页
C语言课程设计工资管理系统.doc_第4页
第4页 / 共58页
C语言课程设计工资管理系统.doc_第5页
第5页 / 共58页
点击查看更多>>
资源描述

1、东北大学信息科学与工程学院程序实践报告题目 工资管理系统课题组长 刘诚阳课题组成员 张鹏举 于文鑫专业名称 计算机科学与技术班 级 计算机 1405指导教师 张晓红2015 年 4 月目录1.课题概述 .- 3 -1.1 课题任务:工资管理系统 .- 3 -1.2 课题原理 .- 3 -1.3 课题实践目的 .- 3 -1.4 相关知识 .- 4 -2.需求分析 .- 4 -2.1 课题调研 .- 4 -2.2 用户需求分析 .- 5 -3.方案设计 .- 5 -3.1 总体功能设计 .- 5 -3.2 数据结构设计 .- 6 -3.3 函数原型设计 .- 7 -3.4 主算法设计 .- 12

2、 -3.5 用户界面设计 .- 13 -3.6 程序特色设计 .- 13 -4.方案实践 .- 14 -4.1 开发环境与工具 .- 14 -4.2 程序设计关键技术 .- 14 -4.3 个人设计实现 .- 14 -4.3.1 刘诚阳设计实现 .- 14 -4.3.2 张鹏举设计实现 .- 22 -4.3.3 于文鑫设计实现 .255.测试与调试 .275.1 个人测试 .275.1.1 刘诚阳测试 .275.1.2 张鹏举测试 .375.1.3 于文鑫测试 .425.2 组装与系统测试 .465.3 系统运行 .496. 课题总结 .506.1 课题评价 .506.2 团队协作 .506.

3、3 个人设计小结 .516.3.1 刘诚阳设计小结 .516.3.2 张鹏举设计小结 .526.3.3 于文鑫设计小结 .526.4 参考资料 .537.附录 A 和附录 B .54附录 A 课题任务分工 .54A-1 课题程序设计分工 .54A-2 课题报告分工 .55附录 B 课题设计文档 .56- 3 -1.课题概述1.1 课题任务:工资管理系统1) 以结构体/共用体设计数据的结构,采用动态链表、文件存储方式,结构化、模块化程序设计方法,设计一个功能完善的系统 ,要有功能菜单。2) 本系统应具有数据维护(包括数据录入、添加、修改、删除) ,数据查询(可按 编号、姓名、基本工资、岗位工资、

4、绩效工资 、房改补助、奖励、应发工资、公积金、扣税、实发工资等进行查询,也可进行组合查询) ,排序,统计,输出,系统维护(包括数据备份、数据恢复、口令维护) ,帮助,退出等功能。3) 本系统要有通用性、界面美观、操作方便。要考虑系统安全。4) 可增加其他有用的功能。1.2 课题原理1) 利用结构体的数据结构,采用动态链表,实现对数据的即时增删。2) 使用文件存储方式,对数据进行有效的存取。3) 采用结构化、模块化的设计方式,每个.C 文件仅包含一个或一类函数,实现模块化的设计开发模式。4) 使用 C 语言的顺序、选择、循环三种基本语句,实现函数所需功能。5) 运用函数定义、声明和调用等基本知识

5、,实现数值、地址的传递,进行数据计算。6) 运用 C 语言独特的指针功能,对数据地址进行处理,实现相应操作。1.3 课题实践目的1) 通过程序实践,强化计算机应用技能,验证、巩固和充实所学的理论知识,加深对相关内容的理解,拓宽知识面,培养创新精神和实践能力。 2) 进一步掌握 C 的数据类型、基本结构、结构体、文件、链表、结构化、模块化设计等知识点。3) 进一步熟悉基本流程控制结构实现分支的 ifelse 语句、switch 语句和实现循环的 for、while、dowhile 语句、break、continue 等。4) 掌握 C 语言程序设计的基本思想,了解简单的系统分析和了解数据库系统的

6、理论。5) 掌握数据库设计的基本方法,熟悉数据库设计的步骤。6) 进一步巩固、加深所学专业课程C 语言程序设计的基本理论知识,理论联系实际,进一步培养综合分析问题,解决问题的能力。7) 利用所学知识,开发小型应用系统,掌握运用 C 语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。- 4 -1.4 相关知识1) C 语言的数据类型、基本结构知识。2) 基本流程控制结构实现分支的 ifelse 语句、switch 语句和实现循环的 for、while、dowhile 语句、break、continue 等。3) 数据结构的设计。4) 系统分析和数据库系统的理论及设计知识。5

7、) 结构体的建立和基本操作。6) 动态链表的建立与基本操作。7) 文件操作对数据进行输入和输出8) 多文件的项目管理应用。9) 开发程序所用的结构化、模块化设计等知识点。2.需求分析2.1 课题调研随着企业的快速发展,企业规模越来越大,员工的数量也越来越多,企业工资管理更加的复杂。工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力。通过计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他

8、方面的核算和财务处理。同时计算机具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资管理的效率,也是企业科学化、正规化管理,与世界接轨的重要条件。这就对企业工资管理提出了新的要求,用计算机管理系统来管理工资已经成为目前的趋势,使用计算机可以高速,快捷地完成以上工作。工资管理系统便是以计算机为工具,通过对工资管理所需的信息管理,不仅把管理人员从繁琐的数据计算处理中解脱出来,而且优化了管理体系,使其高效化,简易化,智能化,也提高了透明度和互动性。专门的管理人员可以轻松地通过工资管理系统对员工的工资进行录入,查看与修

9、改;而且公司高层也可以通过管理员身份了解公司的薪资情况,从而作出一些列财务方面的重要决策;普通员工也可以通过自己的用户名和密码登陆- 5 -工资管理系统,对自己每个月的工资情况进行查询,一目了然,方便快捷。因此,工资管理系统是各个企业部门必不可少的工具,具有很好市场前景与用户需求。2.2 用户需求分析1) 功能需求:登陆功能,显示主菜单功能,职工信息输入、输出、修改、删除功能,职工工资查询、排序、统计功能,系统备份、还原功能,数据初始化功能,帮助,退出等。2) 性能需求:此工资管理系统对工资数据精度的录入、计算、统计和储存能精确到小数点后一位小数。当用户向服务器发出命令请求(对数据更新处理、工

10、资数据的查询检索)时,要求系统响应时间不会超过 1 秒。3) 安全需求:为保障系统数据的安全性,系统采用用户密码登陆机制,未授权者不能进入系统。而且登录人员分为管理员和员工,安全性能通过安全口令得以保证。由于软件运行数据放在数据库中,所以参数不容易被错改、破坏,万一参数受到破坏也不会影响源程序。4) 其他需求:系统提供了完善的数据备份与恢复功能,不会出现系统崩溃,因此具有较强健壮性。该系统是在 Windows 7 操作系统下运行,运行可行性是很高的。5) 约束条件:硬件环境:处理器(CPU)Pentium 以上;内存容量(RAM)256M 或更高。软件环境:Windows7/8/XP/Vist

11、a/2000/98 操作系统。3.方案设计3.1 总体功能设计该职工工资管理系统总共分为四大功能和辅助功。 四大功能:1.工资查询功能:工资排序、查找、统计2 数据处理功能:工资添加、修改、删除、输出到文本文件3.系统维护功能:数据备份、恢复、清空,修改参数,修改口令4.员工编号登记功能. 辅助功能:1.帮助 2.重选年月 3.切换用户 4.安全退出- 6 -职工工资管理系统双入口登陆功能 年月选择功能职工工资信息输入 职工工资信息输出 职工工资信息添加计算 职工工资信息修改 职工工资信息删除 生成职工工资文本工资信息排序 工资信息查询工资计算 工资信息统计数据恢复数据备份 修改参数数据清空

12、修改口令帮助 重选年月 退出3.2 数据结构设计分别定义了两个结构体,一个对员工工资信息进行储存,另外一个对员工编号进行登记(只有经过管理员登记过的员工才能登陆该系统) 。并使用动态链表的方式对数据进行储存和查找,员工的各类信息会被以二进制的形式写入文件内进行保存,系统从文件中以二进制形式读入数据。结构体如下:struct personchar num20; /编号char name20; /姓名char sex10;/性别int age;/年龄float postsalary;/岗位工资- 7 -float basepay; /基本工资float meritpay;/绩效工资float su

13、bsidy;/住房补贴float bonus;/奖金float gotpaid;/应发工资float insurance;/社会保险公积金float tax;/税金float realpaid; /实发工资struct person *next;struct staffchar num20;/员工登记编号struct staff *latter;3.3 函数原型设计AA.1 链表的建立,数据输入、输出、显示、添加、修改、删除函数1) struct person *Creat(int n)建立员工工资信息的链表,先通过传递的形式参数 n 来判断需要建立多少组数据,再通过键盘输入生成相应数量的动态

14、链表数据2) struct staff *Creat_num(int n)建立员工登记编号的链表3) int Creat_number(void)向*Creat 函数传递数值的函数,即需要录入几组数据4) struct person *Input(void)读取员工工资信息的函数,从文件中读取信息并以动态链表方式保存到结构体中5) struct staff *Input_num(void)读取员工登记编号的函数6) void Output(struct person *head)输出员工工资数据到文件7) void Output_num(struct staff *head)输出员工编号到文件

15、8) void Output_txt()生成员工信息的文本文件- 8 -9) void Print(void)将链表中员工的工资信息输出到屏幕上10)void Print_num(void)将链表中员工的登记编号输出到屏幕上11)int Insert(struct person *head)员工数据添加函数,使用方式:Insert(Creat(Creat_number(),先确定添加数据的组数,然后通过动态链表添加数据到结构体,最后通过该函数将数据加到文件尾部,实现数据添加。12)int Insert_num(struct staff *head)员工编号添加函数,使用方式同上,用于管理员向系

16、统中登记员工编号,只有登记过的员工才可以登陆该系统13)int Modify()修改员工信息函数14)int Delete()删除员工工资信息的函数15)int Delete_num()删除员工登记编号的函数A.2 数据备份、清空、恢复1) struct person *Empty(void)清空该年月份所有员工工资信息数据的函数2) void Output_b(struct person *head)员工工资信息备份,输出信息到自定名称的文件3) struct person *Input_b(void)系统还原函数,将备份文件中的信息拷贝到以当前年月命名的文件中,从而还原上一次备份的数据A.

17、3 统计函数1) void Statistics()员工工资统计函数,统计数据中所有员工工资的最小值和最大值,并计算平均数,输出到屏幕A.4 辅助函数1) int main()主函数2) int Exit()退出函数,显示感谢使用该系统,并正确结束运行3) void Choose_month()管理员登陆时用来选择年月份的函数,系统中员工各个年月份的工资分别保存- 9 -在以该年月命名的不同文件下,以该函数判断系统需要打开哪个文件。4) void Choose_month_num()员工登陆时用来选择年月份的函数,功能同上,是两个不同的登陆口5) float post(int a)岗位工资获取

18、函数,岗位级别作为参数传递到该函数,该函数返回对应的岗位工资金额6) void Return()返回主菜单的函数A.5 各类菜单函数1) void Defined()修改参数菜单2) void Help()帮助菜单,提供帮助信息、设计人员信息和版本信息3) void Menu()管理员的主菜单,内含工资查询,数据处理,系统维护,编号登记,帮助,重选年月,切换用户,退出等功能选项4) void Menu_num()员工的主菜单5) void Menu2()工资查询菜单,内含员工工资查找,工资排序,工资统计等功能选项6) void Menu3()员工工资数据处理菜单,内含数据添加,修改,删除,输出等功能选项7) void Menu4()系统维护菜单,内含数据备份,清空,恢复,修改参数、口令等功能选项8) void menu_print_out(void)输出数据时显示在最上面的表头9) void Menu_Register()修改在册员工编号的分菜单10)void Inquire()员工工资查找分菜单11)void Sort()排序菜单,内含从小到大、从大到小排序的功能选项12)int Sort_menu_down_up()排序分菜单从小到大,内含各类排序种类13)int Sort_menu_up_down()排序分菜单从大到小,内含各类排序种类B

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。