企业员工信息管理系统设计与实现  数据结构_第1页
企业员工信息管理系统设计与实现  数据结构_第2页
企业员工信息管理系统设计与实现  数据结构_第3页
企业员工信息管理系统设计与实现  数据结构_第4页
企业员工信息管理系统设计与实现  数据结构_第5页
已阅读5页,还剩52页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

算法与数据结构课程设计题目:企业员工信息管理系统设计与实现院、 系: 计算机信息与技术系学科专业: 计算机科学与技术 学 号: B10060103 学生姓名: 陈 绪 杰 指导教师: 王 楠 2012年 9月 16日目 录第一章 设计要求 .31.1 问题描述 .31.2 需求分析 .3第二章 概要设计 .32.1 主界面设计 .32.2 存储结构设计 .42.3 系统功能设计 .4第三章 模块设计 .53.1 系统子程序及功能设计 .53.2 系统功能图 .5第四章 详细设计 .64.1 数据类型定义 .64.2 系统主要子程序详细设计 .61.输入函数: .62.排序函数: .73.显示函数: .84.查找函数: .95.更改函数: .106.删除函数: .107.主函数: .118.其他函数: .12第五章 测试分析 .125.程序各功能的运行结果: .125.1 系统主界面 .125.2 添加信息 .125.3 排序信息 .135.4 查找信息 .135.5 输出信息 .145.6 更改信息 .145.7 删除信息 .155.8 退出系统 .15第六章 源程序清单 .15第七章 工作总结 .26第八章 参考文献 .261第一章 设计要求1.1 问题描述在这个企业员工信息管理系统中,包括企业中所有员工的信息,如:编号、姓名、性别、出生年月、学历、职务、电话、住址等。并且该系统能够完成所有员工信息的相应查询、更新、插入、删除、以及排序等功能。1.2 需求分析(1)在相应的每条记录中,应该包括该员工的所有信息,譬如:编号、姓名、性别、出生年月、学历、职务、电话、住址等;(2)根据不同关键字(如编号,姓名等) ,对所有员工的信息进行排序;(3)按照指定条件查找某个员工的所有信息;(4)按编号对某个员工的信息进行更改;(5)添加新员工的信息,并实现排序;(6)按编号删除已离职的员工的信息;(7)与此同时,除了以上基本的需求以外,该企业员工信息管理系统的程序源代码还应具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。第二章 概要设计2.1 主界面设计 当输入相应的操作字符(比如:0-6 或者#) ,通过在主函数中选择并调用对应的子函数程序以及其他函数(比如:菜单函数)中的辅助调用,实现并完成各自的功能操作(比2如:添加、查找、更改、排序、删除、显示等) 。系统主界面如下:2.2 存储结构设计依据给定的数据格式,个人信息由九个字段来组成,即编号、姓名、性别、生日、学历、职务、电话和住址,外加一个判断关键字。如: 编号 | 姓名 | 性别 | 出生年月 | 学历 | 职务 | 电话 | 住址01 opk n 1991-10 u q 189 p本课程设计根据功能需求,使用线性结构来组织数据,由于要对表中某项数据进行插入、删除操作,所以使用链表比较方便。2.3 系统功能设计依据程序的数据结构和功能,遵照“自顶向下”原则,描述该程序的层次结构,在总体上包括数据的插入、添加、删除、查找、更改和数据的排序以及数据的显示等功能模块。(1)输入函数功能:通过输入各项数据给数据元素,来建立一个数据表。(2)排序函数功能:按照指定关键字对员工信息进行排序。(3)显示函数功能:输出表中所有节点的信息。(4)查找函数功能:按照指定关键字,对相应员工信息进行查找。(5)更改函数功能:输入员工编号,查找到员工信息,对其信息进行更新。(6)删除函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。(7)主函数功能:调用以上子函数,并用开关语句进行选择性的调用。(8)其它函数功能:主要起辅助作用,比如:菜单函数,主要起到引导作用;释放空间函数,主要用于释放已经删除节点的信息,或者释放整个链表的节点信息。3第三章 模块设计3.1 系统子程序及功能设计(1)输入函数: Stuff *App(Stuff *head); /通过输入各项数据给数据元素,来建立一个数据表。(2)排序函数: Void Sort(Stuff *head); /按照指定关键字对员工信息进行排序。(3)显示函数: Void Show(Stuff *head); /输出表中所有节点的信息。(4)查找函数: Stuff *Search(Stuff *head);/按照指定关键字,对相应员工信息进行查找。(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()输入 显示 查找 排序更改 删除 退出按编号 按姓名 按编号 按姓名4第四章 详细设计4.1 数据类型定义结构体定义:typedef struct Stuffchar number10; /编号char name10; /姓名char sex8; /性别char birthday10; /生日char degree20; /学历char business20; /职务char phone15; /电话char place50; /住址char con50; /判断关键字struct Stuff *next; /指针域 Stuff;4.2 系统主要子程序详细设计1.输入函数:函数原型:Stuff *App(Stuff *head);函数功能:通过输入各项数据给数据元素,来建立一个数据表。算法要点:(1) 用循环控制输入记录;(2) 为每一结构体数据项输入数据;(3) 返回输入记录数。主要算法:Stuff *App(Stuff *head);5while(n)p-next =NULL; /指针域为空printf(“请输入第%d 名员工:n“,n);printf(“ 编号 | 姓名 | 性别 | 出生年月 | 学历 | 职务 | 电话 | 住址 :n“);getchar();scanf(“%s“,p-number );if(strcmp(p-number,“#“)+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;6q=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 ;elseprintf(“信息为空!n“);74.查找函数:函数原型: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(“ 编号 | 姓名 | 性别 | 出生年月 | 学历 | 职务 | 电话 | 住址 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“,if(sh=1)Change(head,p-number); /调用更改函数else if(sh=2)head=Del(head,p-number); /调用删除函数flag=1;break;p=p-next ;5.更改函数:函数原型:Stuff *Change(Stuff *head,char n10);8函数功能:输入员工编号,查找到员工信息,对其信息进行更新。算法要点:(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-pl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论