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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

员工管理系统.docx

1、员工管理系统员工管理系统 洛 阳 理 工 学 院 课 程 设 计 报 告 课程名称 数据结构 设计题目 员工管理系统 课 程 设 计 任 务 书 设计题目:员工管理系统 _ 设计内容与要求:问题描述 每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。系统能够完成员工信息的查询、更新、插入、删除、排序等功能。基本要求(1)排序:按不同关键字,对所有员工的信息进行排序。(2)查询:按特定条件查找员工。(3)更新:按编号对某个员工的某项信息进行修改。(4)插入:加入新员工的信息。(5)删除:按编号删除已离职的员工的信息。课 程 设 计 评 语 成绩:指导教师:_ 年 月 日

2、前言 员工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以员工管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来各个公司基本上都是靠传统的人工方式来管理员工信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。当今社会,信息迅速膨胀,随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,员工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度远远跟不上公司的需求,有的公司不得不靠增加人力、物力来进行信息管理。随着计算机技术

3、的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。而作为计算机应用的一部分,使用计算机对员工进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工管理的效率,也是公司的科学化、正规化管理和与世界接轨的重要条件。员工管理系统作为一种管理软件正在各公司中得到越来越广泛的应用,且已达到了良好效果。需求分析 员工信息管理系统是企业管理中的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来。如何管理好

4、企业内部员工的信息,成为企业管理中的一个大问题。在这种情况下,开发一个人力资源管理系统就显得非常必要 现在,市场上可以选购的应用开发产品很多,流行的也有数十种。在目前市场上这些众多的程序开发工具中,有些强调程序语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只强调程序语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间;相反,如果只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原

5、来所标榜的效率提高的优点失去了作用。本系统结合公司实际的人事、制度,经过实际的需求分析,采用功能强大的Visual C+6.0 作为开发工具而开发出来的管理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,本管理系统具有如下功能:1、问题描述 对单位的员工进行管理,包括插入、删除、查找、排序等功能。2、要求 员工对象包括姓名、性别、年龄、职位、工龄等信息。(1)新增一名员工:将新增员工对象按姓名以字典方式员工管理文件中,基本信息中的编号是按照添加顺序自动增加的。(2)删除一名员工:从员工管理文件中删除一名员工对象,分为根据编号删除、根据姓名删除。(3)查询:从员工管理文件中查

6、询符合某些条件(编号、姓名)的员工。(4)修改:根据编号检索出对象,既可以对整个对象修改,也可对某个属性修改。(5)排序:按照年龄、工龄对所有的员工排序(降序),也可以回复排序以前的员工现实状态。3、实现提示 员工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。(1)当启动程序是,自动从文件(message.txt)中读出员工信息(2)由键盘输入员工对象存入链表当中。(3)对员工对象中的编号、年龄、工龄按字典顺序进行排序。(4)对排序后的员工对象进行增、删、查询、修改、排序等操作。(5)当退出程序时,将此刻单链表中存储的数据写入到文件(message.txt)中去,保存起来。概要设

7、计(一)数据类型定义:typedef struct int num;/编号 char nameMAX_NUM;/姓名 int age;/年龄 char jobMAX_NUM;/职位;int workTime;/工龄 People;ypedef struct node People people;struct node*next;int len;/表示链表长度 linklist;(二)流程图:(图 1)(三)各程序模块之间的层次图:(图 2)详细设计 1、主菜单模块:显示员工管理系统的主菜单,供用户选择所需的功能,通过自己定义的 void main()函数来实现。2、添加员工模块:输入员工的编号

8、、姓名、年龄、职位、工龄以,通过自己定义的 void addMessage()函数来实现。3、查询员工信息模块:浏览所有员工的相关信息,通过自己定义的 void searchPeople()函数来实现。(1)按员工姓名查询:可以按员工工号来查询员工的相关信息,通过自己定义的void searchPeopleByName()函数来实现。(2)按员工编号查询:可以按员工职务来查询员工的相关信息,通过自己定义的void searchPeopleByNum()函数来实现。(3)退出。4、删除员工模块:删除需要删除的员工的所有信息,通过自己定义的 void deletePeople()函数来实现。(1)

9、按员工姓名删除模块:可以按员工工号来删除员工的相关信息,通过自己定义的 void deletePeopleByName()函数来实现。(2)按员工编号删除模块:可以按员工编号删除员工的相关信息,通过自己定义void deletePeopleByNum()函数来实现。(3)退出 5、修改模块:可以修改需要修改的员工的相关信息,通过自己定义的 void editMessage()函数来实现。(1)修改整条记录,可以修改该员工的全部信息,通过自己定义的 void editAll()函数来实现。(2)修改部分记录,可以修改该员工的部分信息,通过自己定义的 void editSome()函数来实现。(3

10、)退出。、员工信息排序模块:可以按照规定要求对员工信息排序,通过自己定义的void sort()函数来实现。(1)按年龄排序:可以按员工工号对员工信息排序,通过自己定义的 void sortByAge()函数来。(2)按工龄排序:可以按员工工龄对员工信息排序,通过自己定义的 void sortByWorkTime()函数来实现。(3)回复原排序:可以回复排序前的顺序,通过自己定义的 void sortByNum()函数来实现。(4)退出。、退出系统模块:退出员工信息管理系统,通 exit(0)函数来实现。函数调用图:(图 3)测试结果(一)当操作人员运行程序时,弹出的 DOS 界面如下:(二)

11、根据提示语,输入 1,添加员工信息,操作如下界面:(三)在主菜单输入 2,进入输出员工功能,操作如下:添加员工、展示所有员工信息功能实现。(四)在主菜单输入 3,查询员工信息 按编号查询,测试如下:按姓名查询,测试如下:以上查询功能测试功能。(五)在主菜单,输入 4,删除员工功能:按编号删除,测试如下:按姓名删除如下:以上测试完成。(六)在主菜单输入 5,进入修改信息功能:(七)在主菜单输入 6,进入排序功能:按年龄排序,测试如下:按工龄排序相同操作,测试成功。回复排序,回复到未排序状态,测试成功。(八)退出,将所有的员工信息写入 message.txt 文件中,实现永久保存。退出系统,测试完

12、成。总结 在本系统的开发过程中由于时间也比较仓促、准备不充分,系统必然会存在一些缺陷和不足。对员工信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。课程设计中我们遇到很多问题。我们在开发时,我们查阅了许多资料,了解到即是对员工的编号号,姓名,年龄,工龄等复杂多样的信息,能够较清晰,快捷而操作方便的现代化管理系统。弄清了这个基本概念以后,我们又详细理解了老师所讲的设计要求和注意事项,大致确定了总体的设计思路,初步提出问题的解决方案,以及系统大致设计方案和框架,接下来我们就着手编程。在编程过程中,先是根据系统所要求,找出所需要知识点。编完程序,我们在机房进行了一次又一次的调试,找

13、出了其中的错误,一一纠正,并且修改了其中不太完善的部分,力求做到实用并且精确 尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。通过开发这个系统,我组掌握了的项目基本开发过程,用到的知识巩固了我对 C 语言的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法。通过本次课程设计,我们对数据结构知识掌握了很多,并能将它用以程序编写中,并且提高了自己的解决实际问题的能力。-附录:源代码#includestdio.h#includestdlib.h#include str

14、ing.h#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW-2 typedef struct LNode char id20;char name10;char sex10;char birth10;char edu10;char duty10;char phone20;char address30;struct LNode*next;LNode,*Linklist;/定义节点类型 int CreatList(Linklist&L)Linklist p;p=(Linklist)malloc(sizeo

15、f(LNode);if(!p)return(0);else printf(请输入员工编号n);scanf(%s,p-id);printf(请输入员工姓名n);scanf(%s,p-name);printf(请输入员工性别n);scanf(%s,p-sex);printf(请输入员工生日n);scanf(%s,p-birth);printf(请输入员工学历n);scanf(%s,p-edu);printf(请输入员工职务n);scanf(%s,p-duty);printf(请输入员工电话n);scanf(%s,p-phone);printf(请输入员工地址n);scanf(%s,p-addres

16、s);p-next=L-next;L-next=p;/头插法生成单链表 int Initlist(Linklist&L)L=(Linklist)malloc(sizeof(LNode);if(!L)return(0);L-next=NULL;return OK;/初始化单链表 void Display(Linklist&L)Linklist p;for(p=L-next;p;p=p-next)printf(编号%sn,p-id);printf(姓名%sn,p-name);printf(性别%sn,p-sex);printf(生日%sn,p-birth);printf(学历%sn,p-edu);

17、printf(职务%sn,p-duty);printf(电话%sn,p-phone);printf(地址%sn,p-address);printf(=n);/显示所有员工信息 int SearchID(Linklist&L,char id20)LNode*p;p=L;while(p)if(strcmp(p-id,id)=0)printf(编号%sn,p-id);printf(姓名%sn,p-name);printf(性别%sn,p-sex);printf(生日%sn,p-birth);printf(学历%sn,p-edu);printf(职务%sn,p-duty);printf(电话%sn,p

18、-phone);printf(地址%sn,p-address);p=p-next;return OK;/ID查询 int SearchName(Linklist&L,char name10)LNode*p;p=L;while(p)if(strcmp(p-name,name)=0)printf(编号%sn,p-id);printf(姓名%sn,p-name);printf(性别%sn,p-sex);printf(生日%sn,p-birth);printf(学历%sn,p-edu);printf(职务%sn,p-duty);printf(电话%sn,p-phone);printf(地址%sn,p-

19、address);p=p-next;return OK;/姓名查询 void SortID(Linklist&L,char id20)Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode);La-next=NULL;while(L-next)for(q=L-next,p=L-next;p-next;p=p-next)if(strcmp(p-next-id,q-id)0)m=p;q=p-next;if(q=L-next)L-next=L-next-next;else m-next=q-next;q-next=La-next;La-

20、next=q;L=La;Display(L);/编号排序 void SortName(Linklist&L,char name10)Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode);La-next=NULL;while(L-next)for(q=L-next,p=L-next;p-next;p=p-next)if(strcmp(p-next-name,q-name)0)m=p;q=p-next;if(q=L-next)L-next=L-next-next;else m-next=q-next;q-next=La-next;

21、La-next=q;L=La;Display(L);/姓名排序 void SortSex(Linklist&L,char sex10)Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode);La-next=NULL;while(L-next)for(q=L-next,p=L-next;p-next;p=p-next)if(strcmp(p-next-sex,q-sex)0)m=p;q=p-next;if(q=L-next)L-next=L-next-next;else m-next=q-next;q-next=La-next;L

22、a-next=q;L=La;Display(L);/性别排序 void SortBirth(Linklist&L,char birth10)Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode);La-next=NULL while(L-next)for(q=L-next,p=L-next;p-next;p=p-next)if(strcmp(p-next-birth,q-birth)0)m=p;q=p-next;if(q=L-next)L-next=L-next-next;else m-next=q-next;q-next=La

23、-next;La-next=q;L=La;Display(L);/出生年月排序 void SortEdu(Linklist&L,char edu10)Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode);La-next=NULL;while(L-next)for(q=L-next,p=L-next;p-next;p=p-next)if(strcmp(p-next-edu,q-edu)0)m=p;q=p-next;if(q=L-next)L-next=L-next-next;else m-next=q-next;q-next=L

24、a-next;La-next=q L=La;Display(L);/学历排序 void SortDuty(Linklist&L,char duty10)Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode);La-next=NULL;while(L-next)for(q=L-next,p=L-next;p-next;p=p-next)if(strcmp(p-next-duty,q-duty)0)m=p;q=p-next;if(q=L-next)L-next=L-next-next;else m-next=q-next;q-nex

25、t=La-next;La-next=q;L=La;Display(L);/职务排序 void SortPhone(Linklist&L,char phone20)Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode);La-next=NULL;while(L-next)for(q=L-next,p=L-next;p-next;p=p-next)if(strcmp(p-next-phone,q-phone)0)m=p;q=p-next;if(q=L-next)L-next=L-next-next;else m-next=q-nex

26、t;q-next=La-next;La-next=q L=La;Display(L);/电话排序 void SortAddress(Linklist&L,char address30)Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode);La-next=NULL;while(L-next)for(q=L-next,p=L-next;p-next;p=p-next)if(strcmp(p-next-address,q-address)0)m=p;q=p-next;if(q=L-next)L-next=L-next-next;el

27、se m-next=q-next;q-next=La-next;La-next=q;L=La;Display(L);/地址排序 int Alter(Linklist&L,char id20)LNode*p;p=L;while(p)if(strcmp(p-id,id)=0)printf(请输入员工编号n);scanf(%s,p-id);printf(请输入员工姓名n);scanf(%s,p-name);printf(请输入员工性别n);scanf(%s,p-sex);printf(请输入员工生日n);scanf(%s,p-birth);printf(请输入员工学历n);scanf(%s,p-ed

28、u);printf(请输入员工职务n);scanf(%s,p-duty);printf(请输入员工电话n);scanf(%s,p-phone);printf(请输入员工地址n);scanf(%s,p-address);p=p-next;return OK;/更改 int Del(Linklist&L,char id20)LNode*p;LNode*r;p=L-next;r=L;while(!(strcmp(p-id,id)=0)&p)r=p;p=p-next;if(!p)printf(n 删除位置不合理n);else r-next=p-next;free(p);printf(删除成功n);re

29、turn OK;/按 ID删除/主函数 void main()Linklist L;int a;char m;char name10;char id20;char sex10;char birth10;char edu10;char duty10;char phone20;char address30;Initlist(L);int y;int x=1;while(x)printf(=n);printf(欢迎进入员工管理系统!n);printf(=n);printf(1-添加员工信息n);printf(2-查询员工信息n);printf(3-排序员工信息n);printf(4-显示所有员工信息

30、n);printf(5-更改员工信息n);printf(6-删除员工信息n);printf(7-退出n);printf(请选择操作序号并按回车:);scanf(%d,&y);switch(y)case 1:CreatList(L);do printf(是否继续输入?(y/n);getchar();scanf(%c,&m);if(m=y)CreatList(L);while(m!=n);break;case 2:printf(请输入查询方式(1 按编号查询,2按姓名查找);scanf(%d,&a);if(a=1)printf(请输入查询员工编号n);scanf(%s,&id);SearchID(

31、L,id);if(a=2)printf(请输入查询员工姓名n);scanf(%s,&name);SearchName(L,name);break;case 3:printf(请选择排序条件:1.编号 2.姓名 3.性别 4.出生年月 5.学历 6.职务 7.电话 8.地址 0.退出n);scanf(%d,&a);if(a=1)printf(编号排序n);SortID(L,id);if(a=2)printf(姓名排序n);SortName(L,name);if(a=3)printf(性别排序n);SortSex(L,sex);if(a=4)printf(出生年月排序n);SortBirth(L,

32、birth);if(a=5)printf(姓名排序n);SortDuty(L,duty);if(a=6)printf(姓名排序n);SortEdu(L,edu);if(a=7)printf(姓名排序n);SortPhone(L,phone);if(a=8)printf(姓名排序n);SortAddress(L,address);break case 4:printf(所有员工信息如下所示n);Display(L);break;case 5:printf(请输入更改员工编号);getchar();scanf(%s,&id);Alter(L,id);break;case 6:printf(请输入删除员工编号);getchar();scanf(%s,&id);Del(L,id);break;case 7:x=0;break;default:printf(请输入正确序号!n);break;THANKS!致力为企业和个人提供合同协议,策划案计划书,学习课件等等 打造全网一站式需求 欢迎您的下载,资料仅供参考

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

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