C语言课程设计|工资管理系统
一、需求分析
题目:工资管理系统
总体设计目标:使用者可以利用此系统进行对工资管理的各项运算操作,如根据用户提供的客户工资自动地进行计算实发工资,查找职工信息数据,删除记录,插入记录,保存记录及按实发工资排序等,最后清晰完整的工资管理结果显现在屏幕中。大大方便使用者对工资管理的统计操作,这样不仅可以提高效率,而且方便易操作。
二、总体设计
1、概述
该系统采用了自上而下、层层紧扣的模块结构。对于最高模块,采用以事务为中心的设计策略,把一个大的模块逐步分解成较小的相对简单的模块。对低层模块,采用以变换为中心的设计策略。为了提高每个小模块的内聚性、降低模块间的耦合性,将每个模块设计成具有单一功能的模块(即功能内聚),使模块间的联系完全是通过主模块的控制和调用来实现(即非直接耦合)。
2、计算机系统配置
⑴硬件配置
主板:顶星
CPU: 华硕
内存:80G
硬盘:512M
⑵软件配置
操作系统:windowXP;
C语言编译系统:turbo C++
3、系统结构图
⑴系统结构图
工资管理系统的系统结构图如下所示,总共由7个模块组成,其中一个是总控模块,另外七个是分别实现不同功能的子模块:
⑵模块说明书
A. 工资管理系统总控模块的模块说明书
模块名称:工资管理系统总控模块
输 入:主菜单选择项
输 出:整个所有学生的信息
处理:
1. 按以下格式显示主菜单和提示使用者选择:
工资管理系统:
0计算实发工资
1查找记录
2删除记录
3插入记录
4保存文件
5按实发工资升序排序
6退出
请选择(0,2,3,4,5,6):
2. 接收主菜单选择项
如果选择项的值为0,调用计算实发工资子模块。
如果选择项的值为1,调用查找记录子模块。
如果选择项的值为2,调用删除记录子模块。
如果选择项的值为3,调用插入记录子模块。
如果选择项的值为4,调用保存文件子模块。
如果选择项的值为5,调用按实发工资升序排序子模块。
如果选择项的值为6,结束操作,退出本系统。
B. 插入工资记录子模块说明书
模块名称:插入工资记录模块
输 入:根据给定员工的号码,姓名,基本工资进行添加
输 出:该员工的工资信息
处理:
按以下格式显示子菜单和提示使用者选择:
插入员工工资系统
⑴请按提示输入要插入的员工的号码
⑵在第二菜单中输入员工的号码,姓名,基本工资
⑶回车返回主菜单
C.保存文件子模块说明书
模块名称:保存文件子模块
输 入:所需保存的员工的姓名
输 出:保存成功该员工资料
处理:
按以下格式显示子菜单和提示使用者选择:
保存文件系统
⑴请按提示输入要保存的员工资料的员工姓名(此员工资料之前已经确定插入)
⑵回车显示保存成功
⑶回车返回主菜单
D.计算实发工资子模块说明书
模块名称:计算实发工资子模块
输 入:员工的工资扣款
输 出:员工的应发工资,税金,实发工资
处理:
按以下格式显示子菜单和提示使用者选择:
计算实发工资系统
⑴首先,要先插入、保存好员工的工资信息
⑵按号码排序提示,输入该员工的扣款,回车得到员工的应发工资,税金,实发工资
⑶依次填入其它员工的扣款即得到所有员工的应发工资
⑷计算完后回车返回主菜单
E.查找记录子模块说明书
模块名称:查找员工工资记录子模块
输 入:要查找的员工姓名
输 出:所要查找的员工的工资信息
处理:
1.按以下格式显示子菜单和提示使用者选择:
查找员工工资系统
输入所要查找的员工工资的姓名,回车
2.⑴显示出所查员工的工资信息,回车返回主菜单
⑵显示不出所查员工任何信息,出现查不到的情况,回车返回主菜单
F.删除记录子模块说明书
模块名称:删除员工工资记录子模块
输 入:根据给定员工的号码进行删除
输 出:整个员工的所有工资资料
处理:
按以下格式显示子菜单和提示使用者选择:
删除员工工资记录系统
⑴请输入要删除的员工工资的员工号码
⑵回车确定删除
⑶再次回车返回主菜单
G.按实发工资升序排序子模块说明书
模块名称:按实发工资升序排序子模块
输 入:根据给定的学生的实发工资从小到大进行排序
输 出:已经排好序的员工实发工资的序列
处理:
按以下格式显示子菜单和提示使用者选择:
按实发工资升序排序系统
⑴对已经保存过的员工资料,按提示回车
⑵系统自动完成对员工实发工资由小到大的顺序进行排序
⑶回车返回主菜单
三、详细设计
1.“工资管理系统总控模块”的详细设计
⑴概述
本模块的详细设计依据是:总体设计中的“A.工资管理系统的总控模块说明书”。
⑶程序流程图如下169