- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
工资标准管理系统专业课程设计报告
工资管理系统—课程设计报告
PAGE
PAGE 2
共4页、第1页
工资管理系统
课程设计报告
编写人:
同组成员、0922305026 (课程设计负责人)
0922305023
、0922305022
完成日期: 2011、6、23 辅导教师:
批阅日期:
分数:
1 功 能 描 述
本程序主要的数据结构是单链表,它由四大模块组成(如下图所示):
工资管理系统
工资管理系统
本程序主要的数据结构是单链表,它由五大模块组成(如下图所示):
工资管理系统
输入记录模块
查询记录模块
更 新 记 录 模 块
输出记录模块
从键盘读入
按编号查询
按姓名查询
插入资料
删除资料
排序资料
输出至屏幕
工资管理系统功能模块图
(1) 输入记录模块:输入记录模块主要完成数据存入单链表的工作。在此工资管理系统中提供了从键盘读入。即从键盘一一输入员工的信息(包括编号,姓名,性别,年龄,工资等)并且读入过程会显示在屏幕上。
(2) 查询记录模块:查询也提供了两种关键字方式,按编号和按姓名查询。该模块的主要工作是在单链表中查找满足关键字的员工信息,用户可以选择以中方式进行查询,如果找到返回该员工节点并且打印该员工的工资信息,否则返回空指针NULL,并打印没有找到的提示。
(3) 更新记录模块:更新数据包括对员工工资信息的删除、插入、和排序(排序是对链表节点的修改而不修改员工信息)。删除功能是彻底删除掉某员工的工资信息,也就是单链表的删除操作,在删除某员工的同时也要修改他所在的部门的信息;插入功能是增添以员工的工资信息,采用的是链表的插入操作,在插入的同时也修改他所在部门的工资信息;排序功能用到的是冒泡排序,可以按照工资的实发和应发升序排序。
(4) 输出记录模块:输出功能是将所有员工的工资信息输出到屏幕中,输出在屏幕上的为表格形式,以便读取方便。
2 总 体 设 计
2.1 功能模块设计
1. 主函数main()执行流程
本系统提供了5个选项供用户选择,先显示目录菜单,提示用户输入选择。有效值为0到4,输入1则进入键盘输入员工信息功能模块,系统将会循环调用ADD()函数键盘添加员工信息。输入2进入查询记录模块,主要工作是在单链表中查找满足关键字的员工信息。输入3进入更新记录模块:更新数据包括对员工工资信息的删除、插入、和排序(排序是对链表节点的修改而不修改员工信息)。输入4进入输出记录模块:输出功能是将所有员工的工资信息输出到屏幕中,输出在屏幕上的为表格形式,以便读取方便。输入0退出本系统,操作结束。
main()会循环显示主界面直到输入0。(如下图所示)
否
否
是
开始
进入主函数
调用menu()菜单函数进入主界面
进入switch函数
输入[0~6]中的一数值,选择相应操作
输入是否为0?
判断键值,调用相应
函数,完成相应功能
结束
主控函数流程图
2.输入记录模块
输入记录模块主要实现将数据存入单链表中,这部分的操作较为简单。从键盘输入,键盘输入则是循环调用Add()函数一一提示用户输入员工各项信息包括(姓名,编号,性别,年龄,工资等),也同时修改部门信息。这里的字符串和数值的输入分别采用了函数来实现,在函数中完成输入数据任务,并对数据进行条件判断,直到满足条件判断为止,这样减少了代码的重复和冗余,符合模块化程序设计的特点。
3.查询记录模块
查询记录模块主要实现了在单链表中按员工姓名和编号查找满足相关条件的员工记录。在查询函数Sq()中,调用了Query()函数,根据*name查询信息,结果保存于link指针数组中,避免找到的姓名相同的员工被覆盖。
4.更新数据模块
更新数据包括插入、删除、排序,前二项用ADU()函数控制,删除调用Del()函数删除满足要求的员工信息,该操作需要遍历单链表,时间复杂度为O(n);插入是调用Add()函数 从键盘一一输入员工节点信息,然后插入到链表中时间复杂度为O(1);排序调用Sort()函数采用冒泡排序的算法对链表排序,时间复杂度为O(n*n)。
5. 输出信息模块
输出模块屏幕输出,屏幕输出为Display()函数按照TFORM2
文档评论(0)