您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 薪酬管理 > 简单职工管理系统课程设计报告
课程设计(论文)题目名称简单的职工管理系统课程名称数据结构课程设计学生姓名学号系、专业信息工程系、通信工程指导教师2012年12月23日摘要建立一个“简单的职工管理系统”,系统以菜单方式工作,编写存放有职工基本信息,包含职工工号,姓名,性别,出生年月,学历,职务,工资,住址,电话等,并且要求录入职工号不重复;录入的职工号信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作,建立职工信息管理的文件。关键词:职工信息管理;文件;浏览;查询;修改;插入;删除;排序1目录1问题描述.................................................................................................22需求分析.................................................................................................23概要设计.................................................................................................33.1抽象数据类型定义.....................................................................33.2模块划分.....................................................................................34详细设计.................................................................................................44.1数据类型的定义.........................................................................44.2主要模块的算法描述.................................................................65测试分析.................................................................................................76课程设计总结......................................................................................12参考文献...................................................................................................12附录(源程序清单)..............................................................................1321问题描述1.对单位的职工进行管理,包括插入、删除、查找、排序等功能。2.要求职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。3.实现提示职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。(2)对职工对象中的姓名按字典顺序进行排序。(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。4.选做内容将职工对象按散列法存储,并设计解决冲突的方法。在此基础上实现增、删、查询、修改、排序等操作。2需求分析1.该程序可用于对企业员工情况基本信息的存储、更新、查询、输出等操作,以实现对企业员工的管理。2.其中更新功能包括:添加信息、删除信息、修改信息、可根据需要添加一个或多个员工信息,也可对个别员工信息进行适当的删除或修改。以便随时更新员工信息。3.程序中设计的查询功能可根据需要从若干数据中查询某个员工信息,并且可根据两种不同的方法查询:按工作证号查询和按姓名查询。以满足不同的需要。33概要设计3.1抽象数据类型定义structemployee//定义一个职工信息的结构体{intnum;charname[10];charsex;intage;charxueli[30];intwage;charaddr[30];chartel[20];}em[100];3.2模块划分各模块的功能和实现1.菜单模块:显示职工管理系统的主菜单,供用户选择所需的功能,通过自己定义的voidmenu()函数来实现。2.输入模块:输入职工的工号、姓名以及其它的一些职工的相关信息,通过自己定义的voidinput()函数来实现。3.保存模块:将内存中职工的信息输出到磁盘文件中,可以通过自己定义的voidsave(int)函数来实现。4.浏览模块:浏览所有职工的相关信息,通过自己定义的voiddisplay()函数来实现。5.删除模块:删除需要删除的职工的所有信息,通过自己定义的voiddel()函数来实现。6.添加模块:添加需要添加的职工的相关信息,通过自己定义的voidadd()函数来实现。7.按职工号查询模块:可以按职工号来查询职工的相关信息,通过自己定义的voidsearch_num()函数来实现。8.按职工的的学历查询模块:可以按职工的学历来查询职工的相关信息,通过自己定义的voidsearch_xuelil函数来实现。9.按职工的电话号码查询模块:可以按职工的电话来查询职工的相关信息,通过自己定义的voidsearch_tel函数来实现。410.修改模块:可以修改需要修改的职工的相关信息,通过自己定义的voidmodify()函数来实现。11.退出系统模块:退出职工信息管理系统,通过头文件windows.h中的exit(0)函数来实现。4详细设计4.1数据类型的定义(1)职工管理系统类型#includestring#includeiostream#includefstream#includeiomanip#includememory.h#includestdio.h#includeconio.h#includestdlib.h(2)队列类型structEmployee{//声明职工的结构作为链表节点。//-----数据域-----stringm_Code;stringm_Name;unsignedshortintm_Year;stringm_Sex;stringm_Post;stringm_Department;unsignedintm_Wage;//链表节点的指针域---structEmployee*Next;};//-----个人习惯:取别名-------5typedefstructEmployeeNode;typedefNode*Link;//-------函数声明-------------LinkCreate(LinkHead);voidRelease(LinkHead);LinkAdd(LinkHead);boolSearch(LinkHead);LinkSearch_Unique(LinkHead);voidDisplay_List(LinkHead);voidDisplay_Node(LinkpNode);LinkModify(LinkHead);LinkDel(LinkHead);voidSave_ByFile(LinkHead,fstream&ofile);LinkSort(LinkHead);//-------函数实现--------------------------LinkCreate(LinkHead){//创建一个带头节点的空链表。Head=(Link)newNode;if(!Head){cout分配内存失败!endl;returnNULL;}Head-m_Code=;Head-m_Name=;Head-m_Year=0;Head-m_Sex=;Head-m_Post=;Head-m_Department=;Head-m_Wage=0;Head-Next=NULL;returnHead;}64.2主要模块的算法描述菜单开始根据菜单输入n的值选择程序保存结束是否继续进行NYYY5添加职工信息6修改职工信息2浏览职工信息3查询职工信息4删除职工信息7退出1录入职工信息75测试分析1.运行程序,进入职工信息管理系统的主菜单:图1:进入主菜单界面2.输入数字“1”进行录入职工信息:图2:录入职工信息3.输入“y”返回主菜单(界面同图1)。84.输入“2”浏览职工信息:图3:浏览职工信息5.输入“y”后继续,输入“3”进行查询职工信息:图4:按职工号及学历查询职工信息9图5:按电话号码查询职工信息6.进入主菜单,输入“4”进行删除职工信息:图6:删除职工信息107.进入主菜单输入“5”进行添加职工信息:图7:添加职工信息118.进入主菜单输入“6”进行修改职工信息:图8:修改职工信息9.进入主菜单输入”7”退出职工信息管理系统。126课程设计总结通过这次课程设计,增加了我们对软件技术的了解,虽然还不明确软件技术包含的具体内容,但从学习数据结构这门课程开始,已发现程序设计的好处,它对我们的学习也有很大的帮助。在学习数据结构的过程中也学到并巩固了许多计算机应用基础知识,对计算机的机体也有了一个较为详细的了解。在具体操作中对这学期所学的数据结构的理论知识得到巩固加强,达到实训的目的,也发现自己的不足之处,为我们以后的数据结构学习奠定了基础,同时体会到数据结构具有语句简洁,使用灵活,执行效率高等特点。发现上机操作的重要作用,特别是对数组和循环有了深刻的理解。通过黄老师的精心指导及我的实际操作,我学会了数据结构程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力。在此我要非常感谢我的指导老师黄同成老师,感谢老师认真细心地为我解答我在数据结构中遇到的疑难问题,感谢老师为我指出我在实际操作中出现的问题并及时帮我纠正过来。因为老师一直对我认真细心地辅导,使我对数据结构这门功课有了浓厚的兴趣并认真去学习它,所以我的这门功课有了很大的进步。参考文献[1]黄同成,黄俊民,董建寅.数据结构[M].北京:中国电力出版社,2008[2]董建寅,黄俊民,黄同成.数据结构实验指导与题解[M].北京:中国电力出版社,2008[3]严蔚敏,吴伟民.数据结构(C语言版)[M].北京:清华大学出版社,2002[4]刘振鹏,张晓莉,郝杰.数据结构[M].北京:中国铁道出版社,200313附录(源程序清单)#includestdio.h#includewindows.h#includestring.h#defineN100structemployee{intnum;charname[20];charsex;intage;charxueli[30];intwage;charaddr[30];chartel[20];}em[100];/*定义一个结构体*/voidmenu();voidinput();voidsave(int);voiddisplay();voiddel();voidadd();voidsearch();voidsearch_num();voidsearch_x
本文标题:简单职工管理系统课程设计报告
链接地址:https://www.777doc.com/doc-4630554 .html