linux课程设计工资管理系统报告

上传人:第*** 文档编号:61611928 上传时间:2018-12-06 格式:DOC 页数:33 大小:699.50KB
返回 下载 相关 举报
linux课程设计工资管理系统报告_第1页
第1页 / 共33页
linux课程设计工资管理系统报告_第2页
第2页 / 共33页
linux课程设计工资管理系统报告_第3页
第3页 / 共33页
linux课程设计工资管理系统报告_第4页
第4页 / 共33页
linux课程设计工资管理系统报告_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《linux课程设计工资管理系统报告》由会员分享,可在线阅读,更多相关《linux课程设计工资管理系统报告(33页珍藏版)》请在金锄头文库上搜索。

1、目录一、需求分析-1二、概要设计-2三、详细设计-3四、调试分析-9五、数据测试-10六、课设总结-13七、程序代码-15 一、需求分析1、设计目的1、设计一个ubuntu下的工资管理系统2、掌握基于Linux环境用C语言定义单链表结构以及实现文件操作:(1) 实现链表的创建、查询、插入、删除等基本操作;(2) 实现文件内容读取到链表和将链表内容写入文件的操作。2、 设计内容1、创建链表,录入数据。2、数据的读写操作。3、数据的更新操作。4、数据的删除和插入。5、请你要求对数据进行查找。6、按要求统计工资信息。7、设计总体菜单界面。3、 设计内容1、录入数据职工的基本信息,包括工号、姓名、身份

2、证号、籍贯、部门、职务、基本工资、岗位工资、基金、税金、奖金、应发工资、实发工资等。2、数据存储信息的录入要求用链表,然后把链表存入指定文件中,并把每次录入的信息以追加方式添加到数据文件尾,以便随时查看,也可供程序调用,方便操作人员不用重复输入数据。3、数据的更新更新包括插入、删除、修改。因为工号是唯一区分不同职工的属性,故删除根据学号删除,如需要删除所有信息只需直接删除数据文件即可。4、数据的查询 查询可以根据工号号和姓名不同方面进行查询,方便操作者使用。5、数据的统计 操作者可以根据系统的数据统计出全公司或者各部门的平均工资、最低工资、最高工资、工资方差。4、 设计细节1、多职工信息进行操

3、作时,建立动态链表,每个节点包含一个职员的工号、姓名、工资等全部信息,通过链表构建一个完整的职工信息库,链表具备录入、删除、修改、查询及统计功能,各功能显示在菜单中,由主函数分别调用。2、为了避免一个函数体过长,进行细化子函数,小型子函数在各个主调函数里多次调用,便于使用。3、以可读可写可追加方式新建一个文本文件,用于存储链表里所有节点上包含的信息,将节点信息导入文件时,从头指针开始,依次写入。4、查询、修改、删除、职工信息时,调用子函数以只读方式打开系统库文件,并将文件从头至尾读取一遍,每次读取一个节点的长度,将每次读取到的信息依次导入到链表的节点中去,再对链表进行所需功能的操作。修改和删除

4、完成后,将整个链表包含的信息重新写入文件,写入之前打开系统库文件同时进行格式化。5、统计职工最高、最低工资及工资均方差时,以同时方式将职工工资等信息导入到链表中,然后以子菜单的形式输出统计的项目,包括各部门和全公司以及最高、最低工资和工资均方差。统计各部门最高、最低工资和工资均方差时需再调用子函数分别进行操作。统计全公司最高、最低工资和工资均方差时采用多分支结构进行。6、菜单及所有操作提示信息均采用中文输出,每一步操作后会有相应的提示。如文件不存在或为空时,会提示“文件打开失败!”或“文件是空的!”或输入有误时提示重新输入。 二、概要设计1、系统结构图主函数录入存储数据操作输出信息输入统计查找

5、修改删除显示2、 流程控制int main()do函数分支:1)录入记录:创建链表函数后以追加方式将链表写入数据文件,如无文件则新建; 2)删除记录:调用读取职工工资信息文件函数和修改链表函数后重新写入文件; 3)查询记录:调用读取职工工资信息文件函数和输出所查节点信息函数; 4)修改记录:调用读取职工工资信息文件函数和修改信息函数后重新写入文件; 5)统计记录:先调用读取职工工资信息文件函数,然后采用两层多分支结构,第一层进行部门选择,第二层调用统计最低、最高、平均工资和工资方差函数,统计全公司工资时直接对信息链表查找和计算; 0)退出系统:exit(0);while(退出系统:exit(0

6、)3、 功能模块说明(1) 数据录入:创建单链表,调用初始化函数申请头结点,采用头插法创建链表完成后,以追加方式打开数据文件并将信息添加到文件中;(2) 删除模块:先将文件信息读出存到链表中,提示输入工号,若找到信息可以将工号对应的职工记录删除;(3) 修改模块:先将文件信息读出存到链表中,提示输入工号,然后提示选择修改项目,若找到信息可修改对应职工记录的某项信息;(4) 查询模块:先将文件信息读出存到链表中,提示输出所有记录还是按条件详细查询,若选择前者调用读取文件函数后依次输出所有信息,若选择后者提示输入工号或者姓名,若找到信息将输出工号对应的职工记录;(5) 统计模块:先将文件信息读出存

7、到链表中,提示输入统计要求,再调用统计子函数,若找到信息则输出统计结果。三、详细设计1、函数设计void menu_ad(); /*菜单*/void Write_to_File(st_em_sal *L); /*将信息写入文件*/void Read_from_File(st_em_sal *h); /*读出文件信息*/int print_inf(); /*显示文件信息信息*/void InitSt_em_sal(st_em_sal *h); /*创建头结点*/void create_list(); /*创建链表函数*/void search(); /*查询记录函数*/void search_b

8、y(st_em_sal *head); /*按条件查询记录*/void modify(); /*修改记录函数*/void delete(); /*删除记录函数*/void count_sal();/*声明统计函数*/void count_choose(st_em_sal *head,char department);/*统计中的选择函数*/void count_min_s(st_em_sal *head,char department);/*计算最低工资函数*/void count_max_s(st_em_sal *head,char department);/*计算最高工资函数*/void

9、count_avr_s(st_em_sal *head,char department);/*计算平均工资函数*/void count_var_s(st_em_sal *head,char department);/*计算工资方差函数*/2、 功能模块设计(1)录入模块开始 创建职工记录链表输入插入的学生信息 链表头插入学生信息 继续录入? 是 否以追加方式将信息录入数据文件 结束(2) 查找模块 开始 将文件中职工记录读到链表中 输入要查找的职工工号stu_num组织循环,扫描存储职工信息的链表p-stu_num=stu_num? 否 否 是 P=NULL? 输出该职工的信息 否 无对应信息! 结束(3) 修改模块 开始 将文件中职工记录读到链表中输入要修改的职工工号stu_num组织循环,扫描存储职工信息的链表表 p-stu_num=stu_num? 否 否 P=NULL? 是 选择修改项 是 无对应信息!修改学生信息将链表重新写入数据文件中结束(4)删除模块开始 将文件中职工记录读到链表中 输入要删除职工工号stu_num 组织循环,扫描存储职工信息的链表 p-stu_num=stu_num? 否 否 是P=NULL?删除该职工信息 是将链表重新写入数据文件中结束(5)统计模块开始

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

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号