西安工业大学北方信息工程学院数据结构课程设计
PAGE
PAGE 1
《算法与数据结构》
课程设计
题目:企业员工信息管理系统
设计与实现
院、 系: 计算机信息与技术系
学科专业: 计算机科学与技术
学 号:
学生姓名:
指导教师: 王 楠
2012
目录
TOC \o "1-2" \h \z \u 第一章 设计要求 2
1.1 问题描述 2
1.2 需求分析 3
第二章 概要设计 3
2.1 主界面设计 3
2.2 存储结构设计 4
2.3 系统功能设计 4
第三章 模块设计 4
3.1 系统子程序及功能设计 4
3.2 系统功能图 5
第四章 详细设计 6
4.1 数据类型定义 6
4.2 系统主要子程序详细设计 6
第五章 测试分析 13
第六章 源程序清单 16
第七章 工作总结 24
第八章 参考文献 25
设计要求
1.1 问题描述
近年来,随着企业彼此间的竞争日趋激烈,信息管理技术在企业的发展中占据着越来越重要的地位。在企业的经营生产中,员工信息已成为企业经营管理中不可缺少的一部分,为管理者进行管理决和进行各种人事调配活动提供了重要的依据,在生产分配安排中发挥了越来越重要的作用。此次课程设计应该具有的功能是能够查看员工的个人信息,每个员工的信息包括:编号、姓名、性别、部门、工资;系统能够完成员工信息的查询、更新、插入、删除、排序等功能。
1.2 需求分析
(1)在相应的每条记录中,应该包括该员工的所有信息,譬如:编号、姓名、性别、出生年月、学历、职务、电话、住址等;
(2)根据不同关键字(如编号,姓名等),对所有员工的信息进行排序;
(3)按照指定条件查找某个员工的所有信息;
(4)按编号对某个员工的信息进行更改;
(5)添加新员工的信息,并实现排序;
(6)按编号删除已离职的员工的信息;
(7)与此同时,除了以上基本的需求以外,该企业员工信息管理系统的程序源代码还应具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。
概要设计
2.1 主界面设计
当输入相应的操作字符(比如:0-6或者#),通过在主函数中选择并调用对应的子函数程序以及其他函数(比如:菜单函数)中的辅助调用,实现并完成各自的功能操作(比如:添加、查找、更改、排序、删除、显示等)。
系统主界面如下:
2.2 存储结构设计
依据给定的数据格式,个人信息由九个字段来组成,即编号、姓名、性别、生日、学历、职务、电话和住址,外加一个判断关键字。
如:
编号 | 姓名 | 性别 | 出生年月 | 学历 | 职务 | 电话 | 住址
01 fdf n 1991-10 b q 189 p
本课程设计根据功能需求,使用线性结构来组织数据,由于要对表中某项数据进行插入、删除操作,所以使用链表比较方便。
2.3 系统功能设计
依据程序的数据结构和功能,遵照“自顶向下”原则,描述该程序的层次结构,在总体上包括数据的插入、添加、删除、查找、更改和数据的排序以及数据的显示等功能模块。
(1)输入函数功能:通过输入各项数据给数据元素,来建立一个数据表。
(2)排序函数功能:按照指定关键字对员工信息进行排序。
(3)显示函数功能:输出表中所有节点的信息。
(4)查找函数功能:按照指定关键字,对相应员工信息进行查找。
(5)更改函数功能:输入员工编号,查找到员工信息,对其信息进行更新。
(6)删除函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。
(7)主函数功能:调用以上子函数,并用开关语句进行选择性的调用。
(8)其它函数功能:主要起辅助作用,比如:菜单函数,主要起到引导作用;释放空间函数,主要用于释放已经删除节点的信息,或者释放整个链表的节点信息。
模块设计
3.1 系统子程序及功能设计
创建成员表函数
Stuff *Cre(Stuff *head) //创建一个员工的信息列表
添加成员函数
Stuff *App(Stuff *head) //添加其他员工的信息列
3. 排序函数
void Sort(Stuff *head) //按照编号等对员工进行排序
4. 判断函数
int Sel(char ch,Stuff *p,Stuff *q) //判断该员工是否存在
5. 查找函数
Stuff *Search(Stuff *head) //查找该员工的信息情况
6.更改函数
Stuff *Chan