ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:271KB ,
资源ID:22455563      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22455563.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2员工管理系统Word下载.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

2员工管理系统Word下载.docx

1、20分;(2)完成设计过程:40分;(3)完成调试:(4)回答问题:20分。5)参考文献:(1)严蔚敏,吴伟民、数据结构、 北京:清华大学出版社,2012、 (2)严蔚敏、吴伟民、米宁、数据结构题集、 北京:清华大学出版社,2009、(3)谭浩强、 C程序设计(第4版) 北京:清华大学出版社,2013、(4)何钦铭、冯雁、陈越、数据结构课程设计、 杭州:浙江大学出版社,20136)课程设计进度安排内容 天数地点构思及收集资料 2图书馆编程设计与调试 5实验室撰写论文 3图书馆、实验室学生签名: 2017年 06 月 19 日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、

2、中()、一般()、差();(2)设计分析(20分):(3)完成调试(20分):(4)翻译能力(20分):(5)回答问题(20分):(6)格式规范性及考勤就是否降等级:就是()、否()评阅人: 职称: 副教授 2017年 06 月 25 日目录一、 问题描述(描述要求编程解决的问题)本次课程设计所制作的员工管理系统,选择用C+语言、利用链表、函数等知识对员工的信息、数据进行收集管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、成本低、充足的信息、快捷的查询手段等优点。这些优点能够极大地提高员工管理的效率,也就是企业的科学化、正规化管理与与世界接轨的重要条件。 本次

3、课程设计的就是一个基于员工数据信息的数据管理系统,通过这个员工管理系统,对员工的数据信息进行管理,企业的管理员就可以按照菜单选择相应的操作,快捷高效地对员工信息执行查询、更新、插入、删除、排序等基本功能。本次课程设计建立的一个“员工管理系统”,如图1所示,该员工管理系统需要我们利用编程知识解决以下几点问题:(1)该员工管理系统可以编写存放一定量的员工基本信息,存放的员工的人数应该在100人以内,每个员工的信息应该包括:员工编号、员工姓名、员工性别、员工出生年月、员工学历、员工职务、员工电话、员工家庭住址、员工的工资等。(2)该员工管理系统在保证能满足录入职工号不出现重复的情况下,录入的职工号信

4、息可以按照要求以文件形式保存。(3)该员工管理系统就是建立职工信息管理的文件的情况下,并且可以实现对其按照不同关键字,如出生年月、员工的编号、员工的工资、员工的电话号码等对所有员工的信息进行从大到小的排序。(4)该员工管理系统还应该可以按照特定条件查找员工、按编号对某个员工的某项信息进行修改、加入新员工的信息、按编号删除已经离职的员工的信息,在满足这些基本功能的情况下,本程序尽可能地对其进行简化算法并提高算法效率,降低时间复杂度与空间复杂度。图1:员工管理系统系统功能结构图二、内容简介2、1 基本要求:(给出程序要达到的具体的要求。) 该员工管理系统能够管理员工的编号、姓名、性别、出生年月、学

5、历、职务、电话号码、住址、工资等这些基本信息,除此之外,系统还可以实现员工信息的查询、更新、插入、删除、排序等功能,该功能的具体要求如下所示。 (1)排序:按不同关键字,如出生年月排序、员工工资排序、电话号码排序、员工编码这些关键字对所有员工的信息进行排序。 (2)查询:从员工管理文件中查询符合某些条件的员工,可以通过关键字查询的信息有:员工部门查询、出生年月查询、员工学历查询、员工职务查询、员工住址查询、电话号码查询、员工编码查询、员工性别查询。 (3)修改:先按编号检索某个需要修改信息的员工对象,对其某些属性进行修改,这些属性包括:员工的编号、姓名、性别、出生年月、学历、职务、电话号码、住

6、址、工资等。 (4)插入:新增一名员工,将新增员工信息加入员工管理文件当中。 (5)删除:2、2、 算法思想:(描述解决相应问题算法的设计思想。(1)排序算法 在排序算法中,员工管理系统提供了四种排序操作,实现了系统的基本排序操作。这些排序操作分别为:对员工出生年月进行排序,对员工电话号码进行排序,对员工工资进行排序,对员工编号进行排序。在排序算法中,利用链表的指针的移动遍历整个职工信息表,利用if语句判断链表上两两之间排序数据的大小,再从大到小的排序。(2)删除算法 在删除算法中,创新点事将删除算法拆分为查找要删除职工信息所在的节点位置为一个算法,删除节点为另一个算法,这样做不仅使算法更为简

7、单清晰,还将一个函数可以被删除函数、修改函数两个函数调用,提高了算法的效率。(3)链式存储算法 因为员工的编码就是不可重复的,所以锁定信息时,只需要从职工的编码确定职工的节点,节省了算法的时间复杂度与空间复杂度。(4)查询算法: 在查询算法中,职工管理系统提供了其中多种查询操作,实现了系统的人性化查询操作,这些操作分别为:对姓名进行查询、对性别进行查询、对出生年月进行查询、对工作年月进行查询、对学历进行查询、对职位进行查询、对住址进行查询、对电话进行查询等一系列操作。在查找算法中,利用链表的指针的移动扫描整个员工信息表,利用if语句判断字符串就是否匹配,将匹配的员工信息全部输出,如图2所示。图

8、2:查询算法程序流程(5)排序算法 在排序算法中,员工管理系统提供了四种查询操作,实现了系统的基本排序操作,这些排序操作分别为:对姓名进行排序,对性别进行排序,对出生年月进行排序,对工作年月进行排序。排序算法中,利用链表的指针的移动扫描整个员工信息表,将需要比较的两个数据拆分成一个算法,其余数据为另一个算法,利用if语句判断同一链表相邻数据的大小,并在链表中从头结点开始,从大到小排列,如图3所示。图3:排序算法程序流程2、3、 模块划分:(描述所设计程序的各个模块(即函数)功能。 根据员工管理系统问题的分析与设计需求,可以得到该员工管理系统可以分为五个模块分别为菜单选择模块、信息输入模块、信息

9、游览模块、信息修改模块、信息删除模块。其系统功能结构如下图所示(1)菜单选择:用于完成接受管理人员的命令,就是职工信息管理的入口,用户所进行的各种操作均需要在此模块中进行选择,并且进而调用其她模块,从而实现相应的功能。(2)信息输入模块:完成职工信息的输入功能,输入职工的信息,包括姓名、出生年月、职工号、性别、职务、工资、地址、电话、工资等。(3)信息游览模块:完成一件录入的员工信息的查询,查询方式有按编号查询、按姓名查按学历查询、按员工职务查询、按员工部门进行查询、按出生年月进行查询、按员工住址进行查询、按员工电话号码、按员工性别进行查询等八种查询方式。(4)信息修改模块:查询要修改员工数据

10、所对应的节点,完成员工信息的修改功能。(5)信息删除模块:查询要删除员工数据所对应的节点,完成对员工信息的删除功能。2、4、 数据结构:(给出所使用的基本抽象数据类型,所定义的具体问题的数据类型,以及新定义的抽象数据类型。根据系统功能结构图的描述,可以构造出该系统的抽象数据类型与相对应的函数,其方法名与功能如下表1所示模块函数或数据结构功能链表数据类型Typedef struct node定义链表节点struct Employee定义职工信息Link Create(Link Head)初始化链表系统处理模块Link Add(Link Head)插入职工信息Link Del(Link Head)

11、删除职工信息Link Modify(Link Head)修改职工信息Void Save_By Head,fstream& ofile)保存职工信息bool Search(Link Head)Link Search_Unique_Front(Link Head)查询职工信息Link Sort(Link Head)职工信息排序输出模块void Display_List(Link Head)显示职工信息表1:系统功能结构表2、5、 源程序:(给出所有源程序清单,要求程序有充分的注释语句,至少要注释每个函数参数的含义与函数返回值的含义。/*员工管理系统*/*头文件*/#include string /

12、字符串头文件fstream /写入、读出操作文件的头文件iomanip /*控制cin、cout之类的一些操纵运算子比如setfill, setw, setbase, setprecision等I / O流控制头文件*/memory、h / 将文件中的函数声明放到工程中头文件conio、h /*调用 getch()cprintf()cputs()kbhit()之类的函数的头文件*/stdlib、h /malloc、free、exit等常用函数的头文件using namespace std;struct Employee /定义结构体类型Employee,声明职工的结构作为链表节点。 strin

13、g m_Code; /定义字符串m_Code为职工代码 string m_Name; /定义字符串m_Name为职工姓名 string m_Sex; /定义字符串m_Sex为职工性别 string 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

14、 m_Year; /定义无符号短整型m_Year为职工出生年份 unsigned long int m_Tel; /定义无符号长整型m_Tel为职工的电话号码 struct Employee* Next; /定义链表节点的指针*Next;/取别名typedef struct Employee Node; /Node类型等同于struct Employeetypedef Node* Link; /定义typedef Employee *为一种新类型,即指针类型/函数声明Link Create(Link Head); /创建带有头结点的链表void Release(Link Head); /释放带

15、有头结点的链表Link Add(Link Head); /添加员工信息到链表里bool Search(Link Head); /查询满足姓名与部门条件的员工信息Link Search_Unique(Link Head); /*查询满足“员工代码“的职工信息(职工代码必需唯一)*/void Display_List(Link Head); /打印职工信息void Display_Node(Link pNode); /在标准输出设备上输出。Link Modify(Link Head); /修改员工信息Link Del(Link Head); /删除员工信息void Save_By Head, fs

16、tream& o保存员工信息Link Sort(Link Head); /员工信息排序/函数实现/创建一个带头节点的空链表。 Head = (Link)new Node; /每次动态分布给Node一个内存大小 if (!Head) cout 分配内存失败! m_Code = ;m_Name = m_Year = 0;m_Sex = m_Post = m_Department = m_Wage = 0;m_Home = m_Degree = m_Tel = 0;Next = NULL; return Head;void Release(Link Head)/释放链表 Link ptr; /声明一

17、个操作用的指针。 while (Head != NULL) ptr = Head; Head = Head-Next; delete ptr; /释放节点资源。/前插法添加数据。 Link pNew; / 声明一个新节点。 char again; string code, name, sex, post, department, home, degree; unsigned short int year; unsigned int wage; unsigned long int tel; do pNew = (Link)new Node;请输入职工代码: cin code;请输入职工姓名: n

18、ame;请输入职工出生年份: year;请输入职工性别: sex;请输入职工职称: post;请输入职工部门: department;请输入职工工资: wage;请输入职工学历: degree;请输入职工住址: home;请输入职工电话号码: tel; pNew-m_Code = code;m_Name = name;m_Year = year;m_Sex = sex;m_Post = post;m_Department = department;m_Wage = wage;m_Degree = degree;m_Home = home;m_Tel = tel; /指针域。Next = Hea

19、d- Head-Next = pNew;数据添加成功!就是否继续添加?(Y/N) again; while (again = Y | again = y);/大小写均能运行/查询职工信息。 string department, name, home, code, sex, degree; int i, year, tel,j=0; ptr = Head- cout * *=员工信息查询系统=* *=* * 1、员工部门查询 2、出生年月查询 3、员工学历查询 4、员工职务查询 * * 5、员工住址查询 6、电话号码查询 7、员工编码查询 8、员工性别查询 * 请选择相应操作菜单项: while (1)根据菜单栏,输入您的选择: i; if (i = 1) /对部门进行查询 cout endl m_Department = department) Display_Node(ptr);/打印满足条件的节点。 cout /查询下一节点。 if (j = 0)无此职工的信息。 return false; if (i = 2) /对出身年月进行查询请输入出身年月:m_Year = year) if (i = 3) /对学历进行查询请输入学历:m_Degree = degree) if (i = 4) /对职务进行查询请输入员工职务: if (i = 5) /对住址进行查询请输入员工住址:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1