分类号编号。
华北水利水电学院。
课程设计。题目职工管理系统
院系信息工程学院。
专业计算机科学与技术
姓名。学号 2011179
指导教师。2023年7月 6 日。
目录。目录 1
1 需求分析 2
1.1 问题描述 2
1.2 要求 2
1.3 实现功能 3
2 概要设计 3
2.1 输入功能实现 3
2.2 系统处理功能实现 3
2.3 输出功能实现 3
2.4 系统功能结构 4
2.5 模块函数构造 4
2.6 模块间调用关系 5
3 详细设计 5
3.1 抽象数据类型定义 5
3.2 主函数设计 6
3.3 查找算法设计 6
3.4 显示算法设计 9
4 测试与分析 9
5 用户使用说明 12
6 总结 13
参考文献 13
附录:程序源** 14
1 需求分析。
职工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以职工管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来各个公司基本上都是靠传统的人工方式来管理职工信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。
当今社会,信息迅速膨胀,随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,职工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度远远跟不上公司的需求,有的公司不得不靠增加人力、物力来进行信息管理。
随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。
而作为计算机应用的一部分,使用计算机对职工进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高职工管理的效率,也是公司的科学化、正规化管理和与世界接轨的重要条件。
职工管理系统作为一种管理软件正在各公司中得到越来越广泛的应用,且已达到了良好效果。
简单的职工管理系统:
1.1 问题描述。
对单位的职工进行管理,包括插入、删除、查找、排序等功能。
1.2 要求。
职工对象包括姓名(字符串)、性别(字符)、出生年月(数字)、工作年月(数字)、学历(字符串)、职务(字符串)、住址(字符串)、**(字符串)等信息。
1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。
2)删除一名职工:从职工管理文件中删除一名职工对象。
3)查询:从职工管理文件中查询符合某些条件的职工。
4)修改:检索某个职工对象,对其某些属性进行修改。
5)排序:按某种需要对职工对象文件进行排序。
1.3 实现功能。
1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。
2)对职工对象中的“姓名”按字典顺序进行排序。
3)对排序后的职工对象进行增、删、查询、修改、排序等操作。
2 概要设计
2.1输入功能的实现:
要想实现职工管理系统的输入,必须要建立一个职工信息系统的抽象数据类型,其中职工信息以链表的存储方式实现。由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。
2.2 系统处理功能的实现:
系统管理员根据公司的人员流动情况,在提示信息的提示下,选择相应的服务进行操作。如对职工对象中的"姓名"按字典顺序进行排序;对排序后的职工对象进行增、删、查询、修改、排序等操作。
2.3 输出功能的实现:
根据选择的操作,输出与之对应的信息。
综上可以绘制出职工管理功能的系统流程图,如图1所示。
图1 系统流程图。
2.4 系统功能结构。
根据职工管理系统问题的分析和设计要求,可以得到该职工管理系统可以分为五个模块:职工信息添加模块、职工信息修改模块、职工信息删除模块、职工信息查询模块、职工信息排序模块。其系统功能结构如图2所示。
图2 系统功能结构图。
2.5 模块函数构造。
根据系统功能结构图的描述,可以构造出该系统的抽象数据类型和相对应的函数,其方法名和功能如表1所示。
表1 函数功能表。
2.6 模块间调用关系。
根据需求分析和概要分析,可得出职工管理系统的各模块调用关系。如图2所示。
图3 模块调用关系图。
3 详细设计。
3.1抽象数据类型定义。
1)定义表结点(typedef struct enode)
typedef struct enode //职工结点类型
char ename[maxsize]; 姓名。
char sex[3性别。
char borndate[11]; 出生日期。
char workdate[11]; 工作日期。
char degree[maxsize]; 学历。
char job[maxsize]; 职位。
char address[maxsize];/地址。
char telenum[12]; **号码。
enode *next;
employee;
2)初始化链表(void initlst(employee *&head)
void initlst(employee *&head) /初始化职工链表。
head =(employee *)malloc(sizeof(employee));
head->next=null;
3.2 主函数设计。
1)根据详细设计要求,可以得到主函数**及其对应的程序流程图:在主函数中,实现了友好的界面设计。系统需要输入职工的基本信息:
姓名、性别、出生年月、工作年月、学历、职务、住址、**等。这个系统还利用键盘输入提供的主菜单服务,在主菜单中,有七种操作的调用:
新增职工信息:void firstinsert(employee *&head) /添加职工信息。
查询职工信息:void search(employee *&head,int &n)//按属性查找职工。
删除职工信息:int deletebyname(employee *&head,char *name)//根据姓名删除。
修改职工信息:int alterlst(employee *&head,char *name)//修改职工信息。
职工信息排序:void sortbyborn(employee *&head)//按出生日期排序(选择法)
void sortbyname(employee *&head) /按姓名排序(冒泡法)
保存职工信息:int s**e(employee *&head) /将职工信息保存到文件中。
显示职工信息:void display(employee *&head) /显示职工信息。
函数**见附录。
3.3 查找算法设计。
在查询算法中,职工管理系统提供了七种查询操作,实现了系统的人性化查询操作。这些查询操作分别为:对姓名进行查询,对性别进行查询,对出生年月进行查询,对工作年月进行查询,对学历进行查询,对职位进行查询,对住址进行查询,对**进行查询等一些列操作。
查找算法中,利用链表的指针的移动扫描整个职工信息表,利用strcmp()函数判断字符串是否匹配。查询算法的核心**为:
void search(employee *&head,int &n)//按给定信息查找职工。
if( head ==null ||head->next==null)
return ;
int flag=0;
employee *p=head->next;
switch(n)
if(!flag)
cout<<"不存在此职工!";
break;
case 3:
char work[11];
cout<<"请输入工作日期:";
超市管理系统课程设计报告
交通运输工程学院。visual foxpro 课程设计报告。设计名称 超市进货供货管理系统 系 院 交通运输工程学院。专业班级。学号。姓名。指导老师。设计时间 2012年6月 目录。课程设计任务书1 一 前言。1 课程设计的目的和意义。2 系统功能设计。3 创建项目管理文件。二 vfp课程设计说明书...
库存管理系统课程设计报告
北华航天工业学院。c 程序设计 课程设计报告。课程设计题目 库存管理系统。作者所在系部 计算机科学与工程系 作者所在专业 计算机科学与技术 作者所在班级 08513班。作者姓名 王士通。作者学号 20083051313 指导教师姓名 金大兵。完成时间 2010年7月3日 北华航天工业学院教务处制。课...
超市管理系统课程设计报告
报告编号 第五组。综合课程设计报告。超市管理系统的设计与实现。学生姓名 指导教师 所在系 电子信息系。所学专业 计算机科学与技术 年级08级 2 班。2010年6月。目录。摘要 1 第1章前言 2 1.1系统前景 2 1.2系统主要功能 2 第2章需求分析 3 第3章概要设计 4 3.1 主界面流程...