2员工管理系统0001.docx
《2员工管理系统0001.docx》由会员分享,可在线阅读,更多相关《2员工管理系统0001.docx(40页珍藏版)》请在三一办公上搜索。
1、课程设计(论文)任务书信息学院学 院16诵信卓越专 业 班一、课程设计(论文)题目员工管理系统二、课程设计(论文)工作自2 2017年06月19日起至2017年06月25日三、课程设计(论文)地点: 信息机房205四、课程设计(论文)内容要求:1. 本课程设计的目的(1) 熟练掌握C语言的基本知识和技能;(2) 掌握线性表的链式存储结构;(3) 掌握线性链表的创建算法;(4) 熟悉掌握多线性链表的增加、删除算法;(5) 培养分析、解决问题的能力;提高学生的科技论文写作能力。2. 课程设计的任务及要求每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。系统能够完成员工信息的
2、查询、更新、插入、删除、排序等功能。1) 基本要求:(1) 排序:按不同关键字,对所有员工的信息进行排序。(2) 查询:按特定条件查找员工。(3) 更新:按编号对某个员工的某项信息进行修改。(4) 插入:加入新员工的信息。(5) 删除:按编号删除已离职的员工的信息。2) 创新要求:提高算法效率,降低时间复杂度和空间复杂度3) 课程设计论文编写要求(1) 要按照课程设计模板的规格书写课程设计论文(2) 论文包括目录、正文、心得体会、参考文献等(3) 课程设计论文用A4纸统一打印,装订按学校的统一要求完成4) 答辩与评分标准:(1) 完成原理分析:20分;(2)完成设计过程:40分;(3)完成调试
3、:20分;(4)回答问题:20分。5)参考文献:(1)严蔚敏,吴伟民。数据结构。北京:清华大学出版社,2012.(2)严蔚敏、吴伟民、米宁.数据结构题集.北京:清华大学出版社,2009。(3) 谭浩强。C程序设计(第4版)北京:清华大学出版社,2013。(4)何钦铭、冯雁、陈越.数据结构课程设计。杭州:浙江大学出版社,20136)课程设计进度安排内容天数地点构思及收集资料2图书馆编程设计与调试5实验室撰写论文3图书馆、实验室学生签名:2017年06 月19日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差();(2)设计分析(20 分):优()、良()
4、、中()、一般()、差();(3)完成调试(20 分):优()、良()、中()、一般()、差();(4)翻译能力(20 分):优()、良()、中()、一般()、差();(5)回答问题(20 分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否()评阅人:职称: 2017年06 月25日目录一、问题描述4二、内容简介52.1基本要求:42.2. 算法思想:42.3。模块划分:62.4。数据结构:72.5. 源程序:72。6。测试情况:34三、小结38四、参考文献39一、问题描述(描述要求编程解决的问题)本次课程设计所制作的员工管理系统,选择用C+语言、利用
5、链表、函数等知识对员 工的信息、数据进行收集管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找 方便、可靠性高、存储量大、成本低、充足的信息、快捷的查询手段等优点这些优点能够 极大地提高员工管理的效率,也是企业的科学化、正规化管理和与世界接轨的重要条件 本次课程设计的是一个基于员工数据信息的数据管理系统,通过这个员工管理系统,对员工 的数据信息进行管理,企业的管理员就可以按照菜单选择相应的操作,快捷高效地对员工信 息执行查询、更新、插入、删除、排序等基本功能。本次课程设计建立的一个“员工管理系统”,如图1所示,该员工管理系统需要我们利用 编程知识解决以下几点问题:(1)该员工管理系统可以
6、编写存放一定量的员工基本信息,存放的员工的人数应该在 100人以内,每个员工的信息应该包括:员工编号、员工姓名、员工性别、员工出生年月、 员工学历、员工职务、员工电话、员工家庭住址、员工的工资等。(2)该员工管理系统在保证能满足录入职工号不出现重复的情况下,录入的职工号信 息可以按照要求以文件形式保存.(3)该员工管理系统是建立职工信息管理的文件的情况下,并且可以实现对其按照不 同关键字,如出生年月、员工的编号、员工的工资、员工的电话号码等对所有员工的信息进 行从大到小的排序。(4)该员工管理系统还应该可以按照特定条件查找员工、按编号对某个员工的某项信 息进行修改、加入新员工的信息、按编号删除
7、已经离职的员工的信息,在满足这些基本功 能的情况下,本程序尽可能地对其进行简化算法并提高算法效率,降低时间复杂度和空间 复杂度.员工管理系统图1:员工管理系统系统功能结构图二、内容简介2。1基本要求:(给出程序要达到的具体的要求。)该员工管理系统能够管理员工的编号、姓名、性别、出生年月、学历、职务、电话号码、 住址、工资等这些基本信息,除此之外,系统还可以实现员工信息的查询、更新、插入、 删除、排序等功能,该功能的具体要求如下所示。(1)排序:按不同关键字,如出生年月排序、员工工资排序、电话号码排序、员工编 码这些关键字对所有员工的信息进行排序。(2)查询:从员工管理文件中查询符合某些条件的员
8、工,可以通过关键字查询的信息有: 员工部门查询、出生年月查询、员工学历查询、员工职务查询、员工住址查询、电话号码 查询、员工编码查询、员工性别查询。(3)修改:先按编号检索某个需要修改信息的员工对象,对其某些属性进行修改,这 些属性包括:员工的编号、姓名、性别、出生年月、学历、职务、电话号码、住址、工资 等.(4)插入:新增一名员工,将新增员工信息加入员工管理文件当中。(5)删除:按编号删除已离职的员工的信息。2。2.算法思想:(描述解决相应问题算法的设计思想。)(1)排序算法在排序算法中,员工管理系统提供了四种排序操作,实现了系统的基本排序操作。这 些排序操作分别为:对员工出生年月进行排序,
9、对员工电话号码进行排序,对员工工资进行 排序,对员工编号进行排序.在排序算法中,利用链表的指针的移动遍历整个职工信息表, 利用if语句判断链表上两两之间排序数据的大小,再从大到小的排序.(2)删除算法在删除算法中,创新点事将删除算法拆分为查找要删除职工信息所在的节点位置为一个算 法,删除节点为另一个算法,这样做不仅使算法更为简单清晰,还将一个函数可以被删除函 数、修改函数两个函数调用,提高了算法的效率。(3)链式存储算法因为员工的编码是不可重复的,所以锁定信息时,只需要从职工的编码确定职工的节点, 节省了算法的时间复杂度和空间复杂度。(4)查询算法:在查询算法中,职工管理系统提供了其中多种查询
10、操作,实现了系统的人性化查询操 作,这些操作分别为:对姓名进行查询、对性别进行查询、对出生年月进行查询、对工作年月进行查询、对学历进行查询、对职位进行查询、对住址进行查询、对电话进行查询等 一系列操作。在查找算法中,利用链表的指针的移动扫描整个员工信息表,利用if语句判 断字符串是否匹配,将匹配的员工信息全部输出,如图2所示。图2:查询算法程序流程(5)排序算法在排序算法中,员工管理系统提供了四种查询操作,实现了系统的基本排序操作,这些排 序操作分别为:对姓名进行排序,对性别进行排序,对出生年月进行排序,对工作年月进 行排序。排序算法中,利用链表的指针的移动扫描整个员工信息表,将需要比较的两个
11、数 据拆分成一个算法,其余数据为另一个算法,利用if语句判断同一链表相邻数据的大小,图3:排序算法程序流程2。3.模块划分:(描述所设计程序的各个模块(即函数)功能。)根据员工管理系统问题的分析和设计需求,可以得到该员工管理系统可以分为五个模块分 别为菜单选择模块、信息输入模块、信息游览模块、信息修改模块、信息删除模块。其系 统功能结构如下图所示(1)菜单选择:用于完成接受管理人员的命令,是职工信息管理的入口,用户所进行的各 种操作均需要在此模块中进行选择,并且进而调用其他模块,从而实现相应的功能。(2)信息输入模块:完成职工信息的输入功能,输入职工的信息,包括姓名、出生年月、 职工号、性别、
12、职务、工资、地址、电话、工资等。(3)信息游览模块:完成一件录入的员工信息的查询,查询方式有按编号查询、按姓名查 按学历查询、按员工职务查询、按员工部门进行查询、按出生年月进行查询、按员工住址 进行查询、按员工电话号码、按员工性别进行查询等八种查询方式(4)信息修改模块:查询要修改员工数据所对应的节点,完成员工信息的修改功能。(5)信息删除模块:查询要删除员工数据所对应的节点,完成对员工信息的删除功能。2.4. 数据结构:(给出所使用的基本抽象数据类型,所定义的具体问题的数据类型,以及新定义 的抽象数据类型。)根据系统功能结构图的描述,可以构造出该系统的抽象数据类型和相对应的函数,其 方法名和
13、功能如下表1所示模块函数或数据结构功能链表数据类型Typedef struct node定义链表节点struct Employee定义职工信息Link Create (Link Head)初始化链表系统处理模块Link Add(Link Head)插入职工信息Link Del(Link Head)删除职工信息Link Modify(Link Head)修改职工信息Void Save_ByFile(Link Head, fstream& ofile)保存职工信息bool Search (Link Head)Link Search_Unique_Front (Link Head)查询职工信息Lin
14、k Sort(Link Head)职工信息排序输出模块void Display_List (Link Head)显示职工信息表1:系统功能结构表2.5。源程序:(给出所有源程序清单,要求程序有充分的注释语句,至少要注释每个函数参 数的含义和函数返回值的含义。)/大员工管理系统*/*头文件*/#include #includestring/字符串头文件# includefstream/写入、读出操作文件的头文件#include iomanip/*控制cin、cout之类的一些操纵运算子比如 setfill, setw, setbase, setprecision等I / O流控制头文件大/#in
15、cludememory。h /将文件中的函数声明放到工程中头文件# include /大调用 getch()cprintf()cputs () kbhit ()之类的函数的头文件大/#includestdlib。h/malloc、free、exit 等常用函数的头文件using namespace std;struct Employee定义结构体类型Employee,声明职工的结构作为链表节点。string m_Code; /定义字符串 m_ Code 为职工代码string m_Name ; /定义字符串 m_Name 为职工姓名string m_Sex;/定义字符串m_Sex为职工性别st
16、ring m_Post;/定义字符串m_Post为职工职称string m_Degree; /定义字符串m_Degree为职工的学历string m_Home;/定义字符串m_Home为职工住址string m .Department;/定义字符串m_Department为职工部门unsigned int m_Wage; /定义无符号整型m_Wage为职工工资unsigned short int m_Year;/定义无符号短整型m_Year为职工出生年份unsigned long int m_Tel; /定义无符号长整型m_Tel为职工的电话号码struct Employee大Next;/定义
17、链表节点的指针*Next;/取别名typedef struct Employee Node;/Node 类型等同于 struct Employeetypedef Node* Link; /定义 typedef Employee *为一种新类型,即指针类型函数声明Link Create (Link Head) ;/创建带有头结点的链表void Release (Link Head);/释放带有头结点的链表Link Add (Link Head) ; /添加员工信息到链表里bool Search (Link Head) ; /查询满足姓名和部门条件的员工信息Link Search_Unique (
18、Link Head) ;/大查询满足“员工代码“的职工信息(职工代码必需 唯一)*/void Display_List (Link Head) ; /打印职工信息void Display_Node (Link pNode) ;/在标准输出设备上输出。Link Modify (Link Head) ; /修改员工信息Link Del (Link Head); /删除员工信息void Save_ByFile(Link Head, fstream& ofile) ;/保存员工信息Link Sort (Link Head) ; /员工信息排序函数实现Link Create(Link Head)/创建一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 员工 管理 系统 0001
链接地址:https://www.31ppt.com/p-4881309.html