【精编】参考企业员工信息管理系统设计与实现数据结构.pdf
《【精编】参考企业员工信息管理系统设计与实现数据结构.pdf》由会员分享,可在线阅读,更多相关《【精编】参考企业员工信息管理系统设计与实现数据结构.pdf(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.算法与数据结构课程设计题目:企业员工信息管理系统设计与实现院、系:计算机信息与技术系学科专业:计算机科学与技术学号:B 学生姓名:陈绪杰指导教师:王楠2012年 9 月 16 日目录第一章设计要求 .错误!未定义书签。1.1 问题描述.错误!未定义书签。1.2 需求分析.错误!未定义书签。第二章概要设计 .错误!未定义书签。2.1 主界面设计.错误!未定义书签。2.2 存储结构设计.错误!未定义书签。2.3 系统功能设计.错误!未定义书签。第三章模块设计 .错误!未定义书签。3.1 系统子程序及功能设计.错误!未定义书签。3.2
2、系统功能图.错误!未定义书签。第四章详细设计 .错误!未定义书签。4.1 数据类型定义.错误!未定义书签。4.2 系统主要子程序详细设计.错误!未定义书签。1.输入函数:.错误!未定义书签。2.排序函数:.错误!未定义书签。文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.3.显示函数:.错误!未定义书签。4.查找函数:.错误!未定义书签。5.更改函数:.错误!未定义书签。6.删除函数:.错误!未定义书签。7.主函数:.错误!未定义书签。8.其他函数:.错误!未定义书签。第五章测试分析 .错误!未定义书签。5.程序各功能的运行结果:.错误!未定义书签。5.1 系统主界面.错误!未
3、定义书签。5.2 添加信息.错误!未定义书签。5.3 排序信息.错误!未定义书签。5.4 查找信息.错误!未定义书签。5.5 输出信息.错误!未定义书签。5.6 更改信息.错误!未定义书签。5.7 删除信息.错误!未定义书签。5.8 退出系统.错误!未定义书签。第六章源程序清单 .错误!未定义书签。第七章工作总结 .错误!未定义书签。第八章参考文献 .错误!未定义书签。第一章设计要求1.1 问题描述在这个企业员工信息管理系统中,包括企业中所有员工的信息,如:编号、姓名、性别、出生年月、学历、职务、电话、住址等。并且该系统能够完成所有员工信息的相应查询、更新、插入、删除、以及排序等功能。1.2
4、需求分析(1)在相应的每条记录中,应该包括该员工的所有信息,譬如:编号、姓名、性别、出生年月、学历、职务、电话、住址等;(2)根据不同关键字(如编号,姓名等),对所有员工的信息进行排序;文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.(3)按照指定条件查找某个员工的所有信息;(4)按编号对某个员工的信息进行更改;(5)添加新员工的信息,并实现排序;(6)按编号删除已离职的员工的信息;(7)与此同时,除了以上基本的需求以外,该企业员工信息管理系统的程序源代码还应具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。第二章概要设计2.1 主界面设计当输入相应的操作字
5、符(比如:0-6 或者#),通过在主函数中选择并调用对应的子函数程序以及其他函数(比如:菜单函数)中的辅助调用,实现并完成各自的功能操作(比如:添加、查找、更改、排序、删除、显示等)。系统主界面如下:2.2 存储结构设计依据给定的数据格式,个人信息由九个字段来组成,即编号、姓名、性别、生日、学历、职务、电话和住址,外加一个判断关键字。如:编号|姓名|性别|出生年月|学历|职务|电话|住址 01 opk n 1991-10 u q 189 p 本课程设计根据功能需求,使用线性结构来组织数据,由于要对表中某项数据进行插入、删除操作,所以使用链表比较方便。2.3 系统功能设计依据程序的数据结构和功能
6、,遵照“自顶向下”原则,描述该程序的层次结构,在总体上包括数据的插入、添加、删除、查找、更改和数据的排序以及数据的显示等功能模块。(1)输入函数功能:通过输入各项数据给数据元素,来建立一个数据表。(2)排序函数功能:按照指定关键字对员工信息进行排序。文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.(3)显示函数功能:输出表中所有节点的信息。(4)查找函数功能:按照指定关键字,对相应员工信息进行查找。(5)更改函数功能:输入员工编号,查找到员工信息,对其信息进行更新。(6)删除函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。(7)主函数功能:调用以上子函数,并用开关
7、语句进行选择性的调用。(8)其它函数功能:主要起辅助作用,比如:菜单函数,主要起到引导作用;释放空间函数,主要用于释放已经删除节点的信息,或者释放整个链表的节点信息。第三章模块设计3.1 系统子程序及功能设计(1)输入函数:Stuff *App(Stuff*head);/通过输入各项数据给数据元素,来建立一个数据表。(2)排序函数:Void Sort(Stuff*head);/按照指定关键字对员工信息进行排序。(3)显示函数:Void Show(Stuff*head);/输出表中所有节点的信息。(4)查找函数:Stuff *Search(Stuff*head);/按照指定关键字,对相应员工信息
8、进行查找。(5)更改函数:Stuff *Change(Stuff*head,Char n10);/输入员工编号,查找到员工信息,对其信息进行更新。(6)删除函数:Stuff *Del(Stuff*head,Char n10);/查找到要删除员工的响应信息,并将其从表中永久的删除。(7)主函数:Void main();/调用以上子函数,并用开关语句进行选择性的调用。(8)其他函数:Char Menu();/主要起到引导作用.Void Fre(Stuff*head);/主要用于释放已经删除节点的信息,或者释放整个链表的节点信息。3.2 系统功能图图 3-2 系统功能图主函数 main()输入显示查
9、找排序更改删除退出按编号按姓名按编号按姓名文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.第四章详细设计4.1 数据类型定义结构体定义:typedef struct Stuff char number10;/编号 char name10;/姓名 char sex8;/性别 char birthday10;/生日 char degree20;/学历 char business20;/职务 char phone15;/电话 char place50;/住址 char con50;/判断关键字 struct Stuff*next;/指针域 Stuff;4.2 系统主要子程序详细设计1
10、.输入函数:函数原型:Stuff *App(Stuff*head);函数功能:通过输入各项数据给数据元素,来建立一个数据表。算法要点:(1)用循环控制输入记录;(2)为每一结构体数据项输入数据;(3)返回输入记录数。主要算法:Stuff *App(Stuff *head);文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.while(n)p-next=NULL;/指针域为空 printf(请输入第%d名员工:n,n);printf(编号|姓名|性别|出生年月|学历|职务|电话|住址:n);getchar();scanf(%s,p-number);if(strcmp(p-numbe
11、r,#)+n;scanf(%s%s%s%s%s%s%s,p-name,p-sex,p-birthday,p-degree,p-business,p-phone,p-place);2.排序函数:函数原型:void Sort(Stuff*head);函数功能:按照指定关键字对员工信息进行排序。算法要点:(1)比较法对信息进行排序;(2)使用交换函数,对每项信息进行交换。主要算法:Void Sort(Stuff*head);while(p-next!=NULL)/选择排序 q=p-next;r=p;while(q!=NULL)if(Sel(ch,r,q)/调用判断函数r=q;文档来源为:从网络收集整
12、理.word 版本可编辑.欢迎下载支持.q=q-next;if(r!=p)/交换信息 p=p-next;3.显示函数:函数原型:void Show(Stuff*head);函数功能:输出表中所有节点的信息。算法要点:使用循环输出所有信息。主要算法:Void Show(Stuff*head);if(head!=NULL)printf(员工信息如下:n);while(p!=NULL)printf(%d.%s%s%s%s%s%s%s%sn,n+,p-number,p-name,p-sex,p-birthday,p-degree,p-business,p-phone,p-place);p=p-next
13、;else printf(信息为空!n);文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.4.查找函数:函数原型:Stuff *Search(Stuff*head);函数功能:按照指定关键字,对相应员工信息进行查找。算法要点:(1)输入字段和信息相应字段的比较;(2)函数中调用删除和更改函数。主要算法:Stuff *Search(Stuff*head);while(p!=NULL)if(strcmp(q-con,p-number)=0|strcmp(q-con,p-name)=0)printf(员工信息如下:n);printf(编号|姓名|性别|出生年月|学历|职务|电话|住址
14、n%s t%s t%s t%s t%s t%s t%s t%sn,p-number,p-name,p-sex,p-birthday,p-degree,p-business,p-phone,p-place);printf(是否需要:1.更改 2.删除 3.继续 n);scanf(%c,&sh);if(sh=1)Change(head,p-number);/调用更改函数else if(sh=2)head=Del(head,p-number);/调用删除函数flag=1;break;p=p-next;文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.5.更改函数:函数原型:Stuff
15、*Change(Stuff*head,char n10);函数功能:输入员工编号,查找到员工信息,对其信息进行更新。算法要点:(1)信息查找;(2)信息重新录入及保存。主要算法:Stuff *Change(Stuff*head,char n10);while(p!=NULL)if(!strcmp(p-number,n)printf(找到员工,请输入新的信息:n 编号|姓名|性别|出生年月|学历|职务|电话|住址 n);scanf(%s%s%s%s%s%s%s%s,p-number,p-name,p-sex,p-birthday,p-degree,p-business,p-phone,p-pla
16、ce);printf(员工信息如下:n);flag=1;p=p-next;6.删除函数:函数原型:Stuff *Del(Stuff*head,char n10);函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。算法要点:(1)按关键字查找信息;(2)链表中删除节点信息,并释放节点空间。主要算法:文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.Stuff *Del(Stuff*head,char n10);while(strcmp(p-number,n)&p-next!=NULL)pr=p;p=p-next;if(!strcmp(p-number,n)if(p=he
17、ad)head=p-next;else pr-next=p-next;free(p);printf(删除成功!n);n-;7.主函数:主函数主要是调用以上的子函数,用开关语句进行选择性的调用。大致程序如下:switch(Menu()case 1:调用函数语句;break;case 2:调用函数语句;break;case 0:退出程序语句;default:printf(输入错误,请重新输入!n);文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.8.其他函数:这些函数主要起到辅助功能,比如:菜单函数,主要起到引导作用;释放空间函数,主要用于释放已经删除节点的信息,或者释放整个链表的
18、节点信息。菜单函数原型:char Menu();释放函数原型:void Fre(Stuff*head);第五章测试分析5.程序各功能的运行结果:5.1 系统主界面5.2 添加信息(1)首先输入操作字符“1”;(2)接着输入员工信息;(3)最后输入操作字符“#”结束输入。5.3 排序信息(1)首先输入操作字符“2”;(2)接着输入操作字符“1”(即实现按“编号”排序);(3)最后输入操作字符“#”结束输入。5.4 查找信息(1)首先输入操作字符“3”;(2)接着输入操作字符“1”(即实现按“编号”查找);(3)再输入编号的字符“01”;(4)最后输入操作字符“#”结束输入。文档来源为:从网络收集
19、整理.word 版本可编辑.欢迎下载支持.5.5 输出信息(1)首先输入操作字符“4”;(2)最后按Enter 键退出输出界面。5.6 更改信息(1)首先输入操作字符“5”;(2)接着输入编号的字符“01”;(3)再输入新的员工信息,比如:编号|姓名|性别|出生年月|学历|职务|电话|住址 03 gt a 1892-3 j v 160 l(4)最后按 Enter 键退出更改界面。5.7 删除信息(1)首先输入操作字符“6”;(2)接着输入编号的字符“03”;(3)最后按Enter 键退出删除界面。5.8 退出系统(1)首先输入操作字符“0”;(2)最后按任意键退出系统。第六章源程序清单第七章工
20、作总结通过本次数据结构课程设计,使我深深的意识到以下几个问题。首先,要善于利用十分强大的互联网。要不是通过互联网的搜索,找到了相应的程序文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.与代码以及看到了很多人的经典构想与特殊思维,否则,真的不知道自己该如何解决程序中出现的一系列问题。其次,勿忘好学多思。经过这次实践,使我深深的意识到自身的严重不足。比如:知识储备远远不够、自身眼光看得太浅、自身学习精神与意志力缺乏等等。最后,我想起了一句很有道理的名言。即:“感觉有问题,能力不够;感觉有困难,方法不对。”第八章参考文献1.耿国华.数据结构 C语言描述.高等教育出版社.2005/06
21、7511.2.谭浩强.C 程序设计.清华大学出版社.2007/014674.毕业论文(设计)学生工作手册院(系):专业班级:学号:姓名:指导教师:学年年月至年月教 务 处 编 制目录一、对学生的基本要求二、毕业论文(设计)规范化要求三、毕业论文(设计)任务书文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.四、毕业论文(设计)封面五、毕业设计开题报告封面六、毕业设计开题报告撰写内容及要求七、毕业论文文献综述封面八、毕业论文文献综述撰写要求九、优秀学士学位论文评选方案十、毕业论文(设计)工作记录文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.对学生的基本要求一、毕业
22、论文(设计)环节中对学生的基本要求如下:1.学生应重视毕业论文(设计)环节,明确其目的、意义和要求,严格按照学校毕业论文(设计)的有关规定和要求,保质保量地完成毕业论文(设计)任务。2.努力学习,刻苦钻研,虚心接受指导教师的指导。勤于钻研和实践,敢于创新,努力提高自身的各种能力和综合素质。3.在指导教师或工程技术人员的指导下,按毕业论文(设计)任务书的要求,独立按时完成毕业论文(设计)的各项任务,按照“本科毕业论文(设计)规范化要求”,认真撰写毕业论文(设计)报告,不得弄虚作假,不准抄袭他人内容,否则毕业设计成绩以不及格处理。4.严格遵守学习纪律。毕业设计期间,无故离开学校(或毕业设计地点),
23、按旷课处理,因故离校,需经指导教师同意,并严格履行请假手续。旷课累计一周或请假累计达四周者,取消毕业论文(设计)答辩资格,成绩按不及格处理。5.注意节约,爱护仪器设备,严格遵守操作规程和各项规章制度。二、毕业论文(设计)工作量要求毕业论文(设计)课题可分为“研究论文”型和“毕业设计”或“毕业创作(设计)”型两类。学生在毕业论文(设计)期间应完成的基本工作量如下:1.文献检索:查阅与课题有关的近35 年文献资料,其中含使用计算机检索;2.外文阅读与翻译:与研究课题有关的外文参考资料阅读量不少于510万印刷符;译文不少于3 千汉字 (或 2 万印刷字符的外文原文的翻译)。外语专业的学生须完成 3
24、千汉字以上的与研究课题有关的第二外语的外文资料的翻译;上交译文时须附上外文原文。3.文献综述或开题报告:认真阅读指导教师指定的和自选的与研究课题有关的有代表性的参考文献资料:理、工、农、医类15 种以上,其他学科20 种以上,写出 3 千汉字以上的文献综述或开题报告。凡题目类型为“毕业设计”或“毕业创作(设计)”的,按要求撰写开题报告;题目类型为“研究论文”的,文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.按要求撰写文献综述。4.毕业论文(设计)正文:字数不少于 1.2 万字或 1.2 万字篇幅的内容,外语专业须用外语书写,不少于 6 千个实词,艺术类专业基础理论方向的毕业论
25、文字数不少于6000 字,技能技法(含创作(设计)、演出)方向的毕业论文字数不少于 3000字。文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.毕业论文(设计)规范化要求根据中华人民共和国国标GB7713-87科学技术报告、学位论文和学术论文的编写格式,结合我校特点,对毕业论文(设计)文本结构规范要求如下:一、毕业论文(设计)文本结构规范及要求(一)毕业论文(设计)文本结构规范毕业论文(设计)文本由毕业论文(设计)封面、目录、任务书、文献综述或开题报告、指导教师审查意见、评阅教师评语、答辩会议记录、中外文摘要、正文、参考文献、致谢和附录组成。1封面2目录3毕业论文(设计)任务书
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精编 参考 企业 员工 信息管理 系统 设计 实现 数据结构
限制150内