![数据结构课程设计之企业员工信息管理系统设计与实现_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/28/62f24d6f-586c-4089-8a3d-d578057b85cb/62f24d6f-586c-4089-8a3d-d578057b85cb1.gif)
![数据结构课程设计之企业员工信息管理系统设计与实现_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/28/62f24d6f-586c-4089-8a3d-d578057b85cb/62f24d6f-586c-4089-8a3d-d578057b85cb2.gif)
![数据结构课程设计之企业员工信息管理系统设计与实现_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/28/62f24d6f-586c-4089-8a3d-d578057b85cb/62f24d6f-586c-4089-8a3d-d578057b85cb3.gif)
![数据结构课程设计之企业员工信息管理系统设计与实现_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-3/28/62f24d6f-586c-4089-8a3d-d578057b85cb/62f24d6f-586c-4089-8a3d-d578057b85cb4.gif)
![数据结构课程设计之企业员工信息管理系统设计与实现_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-3/28/62f24d6f-586c-4089-8a3d-d578057b85cb/62f24d6f-586c-4089-8a3d-d578057b85cb5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、八才日出7期才设Xi'an Technological University North Institute of Information Engineering算法与数据结构课程设计题目:企业员工信息管理系统设计与实现院、系:计算机信息与技术系学科专业:软件工程学 号:B10060XXX学生姓名:XX指导教师:X X2012年9月16日第一章 设计要求21.1 问题描述 21.2 需求分析 2第二章 概要设计32.1 主界面设计 32.2 存储结构设计 32.3 系统功能设计 4第三章 模块设计43.1 系统子程序及功能设计 43.2 系统功能图 5第四章 详细设计54.1 数据类型
2、定义 54.2 系统主要子程序详细设计 61 . 显示函数: 62 .删除函数: 63 .查询函数: 74 .修改函数: 95 .主函数: 108.其他函数: 11第五章 测试分析125.程序各功能的运行结果: 125.1 系统主界面 125.2 建立信息 125.3 修改信息 135.4 查询信息 135.5 显示信息 145.6 删除信息 145.7 退出系统 15第六章 源程序清单16第七章 工作总结23第八章参考文献23第一章 设计要求1.1 问题描述企业员工信息管理系统,包括企业中所有员工的基本信息,如:工号、姓名、性别、学历等。且该系统能够完成新员工的增添、所有员工信息的相应查询、
3、修改、删除等各项功能。1.2 需求分析( 1)在相应的每条记录中,应该包括该员工的所有信息,如:工号、姓名、性别、学历等;( 2)根据不同关键字(如工号,姓名等),对所有员工的信息进行排序;( 3)按照指定条件查找某个员工的所有信息;( 4)按工号对某个员工的信息进行修改;( 5)添加新员工的信息;( 6)按工删除已离职、退休员工的信息;( 7) 与此同时,除了以上基本的需求以外,该企业员工信息管理系统的程序源代码还应具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。第二章概要设计2.1 主界面设计当输入相应的操作字符(如:数字 0-6),实现并完成各项功能操作(如: 建立
4、、修改、删除、显示、退出等)。系统主界面如下:人八 欢:卬使用伞1/员工信.息、,皋统 人 人 就JtXJtM犹M*/录录表息记记息信息息息统代工密宿代和工员工工工理立人询除一甯建排查删显退12 3 4-50mu *_*欢迎使用企业员工信息系统"_人坤售.20129 P12 B2.2 存储结构设计依据给定的数据格式,个人信息由四个字段来组成,即工号、姓名、性别、学历,外 加一个判断关键字。如:工号|姓名|性别|学历123 feng n daxue本课程设计根据功能需求,使用线性结构来组织数据,由于要对表中某项数据进行插 入、删除操作,所以使用链表比较方便。2.3 系统功能设计依据程序
5、的数据结构和功能,遵照“自顶向下,逐步细化”原则,描述该程序的层次结构,在总体上包括数据的增添、修改、删除、查询以及数据的显 示等功能模块。(1) 新增函数功能:通过输入各项数据给数据元素,来建立一个数据表。(2) 显示函数功能:输出表中所有节点的信息。(3) 查询函数功能:按照指定关键字,对相应员工信息进行查询。(4) 修改函数功能:输入员工工号,查询员工信息,对其信息进行修改。(5) 删除函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。(6) 主函数功能:调用以上子函数,并用开关语句进行选择性的调用。第三章 模块设计3.1 系统子程序及功能设计(1) 新增员工信息,利用函数:
6、creatlist(linklist &L)(2) 显示所有员工信息,利用函数:display(linklist&L)(3) 删除员工信息,是按员工工号删除,利用函数:delet(linklist &L,char num6)(4) 查询员工信息,按工号和姓名进行查询;按工号查询利用函数:searchnum(linklist &L,char num10) ;按姓名查询利用函数:searchname(linklist &L,char name10)(5) 修改员工信息,利用函数:alter(linklist &L,char num6)3.2 系统功能
7、图第四章详细设计4.1 数据类型定义结构体定义:typedef struct nodechar num6;/ 工号char name10;/ 姓名char sex6;/ 性别char degree20; / 学历struct node *next;/ 指针域 node,*linklist;4.2 系统主要子程序详细设计1. 显示函数函数原型:void display(linklist &L)函数功能:输出表中所有节点的信息。算法要点:使用循环输出所有信息。主要算法:void display(linklist &L)linklist p;for(p=L->next;p;p=
8、p->next)printf(" 工号%s",p->num);printf(" 姓名%s",p->name);printf(" 性别%s",p->sex);printf(" 学历%s",p->edu);2. 删除函数函数原型:void delet(linklist &L,char num6)函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。算法要点:(1) 按关键字查找信息;(2) 链表中删除节点信息,并释放节点空间。主要算法:int delet(linklist
9、&L, char num6 )node *p;/*实现删除操作的临时的结构体指针变量*/node *r;p=L->next;r=L;if(!L->next)/当list 无后继结点时,提示和结束返回del()printf("n=> 提示 : 没有记录可以删除!n");printf("n");return 1;while(!(strcmp(p->num,num)=0)&&p)r=p;p=p->next;if(!p)printf("nnttt 找不到该职工信息!n");elser-&g
10、t;next=p->next;free(p);printf(" 删除成功n");printf("n");return 1;3. 查询函数(1) 按工号查询int searchnum(linklist &L,char num10) node *p;p=L;while(p)if(strcmp(p->num,num)=0)printf("t");printf(" 工号%s",p->num);printf("t");printf(" 姓名%s",p->
11、name);printf("n");printf("t");printf(" 性别 %s",p->sex);printf("t");printf("t");printf(" 学历 %s",p->edu);printf("n");p=p->next;return 1;(2)按姓名查询int searchname(linklist &L,char name10) node *p;p=L;while(p)if(strcmp(p->
12、name,name)=0)printf("t");printf(" 工号%s",p->num);printf("t");printf(" 姓名%s",p->name);printf("n");printf("t");printf(" 性别 %s",p->sex);printf("t");printf("t");printf(" 学历 %s",p->edu);printf(&
13、quot;n");p=p->next;return 1;4. 修改函数(按工号修改)int alter(linklist &L,char num6)node *p;p=L;while(p)if(strcmp(p->num,num)=0)printf(" 请输入员工的工号:n");printf(" 您输入的是:");printf("t");scanf("%s",p->num);printf(" 请输入员工的姓名:n");printf(" 您输入的是:&
14、quot;);printf("t");scanf("%s",p->name);printf(" 请输入员工的性别:n");printf(" 您输入的是:");printf("t");scanf("%s",p->sex);printf(" 请输入员工的学历:n");printf(" 您输入的是:");printf("t");scanf("%s",p->edu);p=p->ne
15、xt;printf("n");return 1;5. 主函数主函数主要是调用以上的子函数,用开关语句进行选择性的调用。大致程序如下:void main()linklist L;int a;char m;char name10;char num6;initlist(L);int g;int f=1;while(f)menu();scanf("%d",&g);printf("n");switch(g)case 1: creatlist(L);doprintf(" 是否继续输入?(y/n)");printf(&q
16、uot;t");getchar();scanf("%c",&m);if(m='y')creatlist(L);while(m!='n');printf("n");break;case 2: printf(" 请输入修改员工的工号:");printf(" 您输入的是:");printf("t");getchar();scanf("%s",&num);alter(L,num);printf("n");b
17、reak;case 0: f=0;printf("nn");break;6. 其他函数这些函数主要起到辅助功能,比如:菜单函数,主要起到引导作用;菜单函数原型:void menu()第五章测试分析5.程序各功能的运行结果:5.1 系统主界面欢迎使用企业员工信息系统JCMLXJI录录表息配配自U信自心自心白3(纤一信工信信总系工员工工工理立改询除一生建修查删显退12 3 4 5 0A_A欢迎使用企业贝工信息系统A_A乂5.2 建立信息(1)首先输入操作字符“1”;(2)接着输入员工信息;(3)最后输入操作字符“ n”结束输入请您从。-5中选择; 您选择的是:*请输入员工的工号
18、工 12 3请轴I,、员31.的名二 F encf请输入员工的性另h 请输入民主的学历二 dcixiLie 是否泄续输入牙 请输入员工的工号二鼻5E请输入员工的姓名: 请输入员空的性别:请输入员士的学历;5.3 修改信息(1)首先输入操作字符“ 2”;(2)再输入新的员工信息,情您从阴T中选择:色选择的是:2请输入修改员工的工号二您输入的是.123人入1A入人入喻.勒轴辅悯镯号名别历在世再 夜糕.琶糕曷456工号姓名学历冯 大学性别n124姓名学历f engi5.4 查询信息(1)首先输入操作字符“ 3”;(2)接着输入操作字符“ 1”或者“2”(即实现按“工号”查询,或者按“姓名”查询);(
19、3)再输入编号的字符“1”;请您从dt中选择:您另择的是;3请选择查询方式C.技工号查询.2 .按姓名查找,壁选择的是i1请薪人查询员工的工号,您输入的是:124工号 124姓名 fenff性别n学历.请选择查询方式。.按工号查询,2 .按姓名查找)您选择的456n请前入查询员工的姓名, 您输入的是:肖姓名学历5.5 显示信息输入操作字符“ 5” ;请您从"S中选择:您费择的是:S所有员工的信息如下所示5.6删除信息输入操作字符“ 4”;456124 n姓名学历姓名学历冯 大学您选择的是;4所有员工的信息如下所示产、删除员工的工号;您输入的是. 124IJ除成功5.7退出系统输入操作
20、字符“ 0”;请您从0Y中选稻 端择的是;0我餐*感谢您械用,再见!*«衽ress any key to continue.第六章 源程序清单#include<stdio.h>#include<stdlib.h>#include<string.h> typedef struct node char num6;char name10;char sex3;char edu6; struct node *next;node,*linklist;/定义节点类型int creatlist(linklist &L)linklist p;p=(linkl
21、ist)malloc(sizeof(node); if(!p)return (0);elseprintf(" 请输入员工的工号printf("t");scanf("%s",p->num);printf(" 请输入员工的姓名printf("t");scanf("%s",p->name);printf(" 请输入员工的性别printf("t");scanf("%s",p->sex);printf(" 请输入员工的学历pri
22、ntf("t");scanf("%s",p->edu);/头插法生成单链表:n");:n");:n");:n");p->next=L->next;L->next=p;int initlist(linklist &L)/初始化单链表L=(linklist)malloc(sizeof(node); if(!L) return (0);L->next=NULL;return 1;void meau()printf("t*AA欢迎使用企业员工信息系统A_A *n")
23、printf("n");printf("t*1 建立员工信息表*n");printf("t*2 插入新员工信息*n");printf("t*3 查询员工信息记录*n");printf("t*4 删除员工信息记录*n");printf("t*5 显示员工信息*n");printf("t*0 退出管理系统*n");printf("n");printf("t*AA欢迎使用企业员工信息系统A_A *n")printf(&qu
24、ot;n");printf("tXXXn");printf("t2012 年 9 月 12 日 n");printf("n");printf(" 请您从 0-5 中选择 :n");printf(" 您选择的是:");printf("t");void display(linklist &L)/显示所有员工信息linklist p;for(p=L->next;p;p=p->next)printf("t");printf("
25、; 工号%s",p->num);printf("t");printf(" 姓名%s",p->name);printf("n");printf("t");printf(" 性别 %s",p->sex);printf("t");printf("t");printf(" 学历 %s",p->edu);printf("n");printf("n"); printf(&qu
26、ot;n");int delet(linklist &L,char num6)/按工号删除node *p;/*实现删除操作的临时的结构体指针变量*/node *r;p=L->next;r=L;if(!L->next) /当 list 无后继结点时,提示和结束返回del()printf("n=> 提示 : 没有记录可以删除!n");printf("n");return 1;while(!(strcmp(p->num,num)=0)&&p) r=p;p=p->next; if(!p)printf
27、("nnttt 找不到该职工信息!n");else r->next=p->next;free(p);printf(" 删除成功n");printf("n");return 1;/查询工号int searchnum(linklist &L,char num10)node *p;p=L;while(p)if(strcmp(p->num,num)=0)printf("t");printf(" 工号%s",p->num);printf("t");pri
28、ntf(" 姓名%s",p->name);printf("n");printf("t");printf(" 性别 %s",p->sex);printf("t");printf("t");printf(" 学历 %s",p->edu);printf("n");p=p->next;return 1;/查询姓名int searchname(linklist &L,char name10)node *p;p=L;
29、while(p)if(strcmp(p->name,name)=0)printf("t");printf(" 工号%s",p->num);printf("t");printf(" 姓名%s",p->name);printf("n");printf("t");printf(" 性别 %s",p->sex);printf("t");printf("t");printf(" 学历 %s&q
30、uot;,p->edu);printf("n");p=p->next;return 1;/修改信息int alter(linklist &L,char num6) node *p;p=L;while(p)if(strcmp(p->num,num)=0)printf(" 请输入员工的工号:n");printf(" 您输入的是:");printf("t");scanf("%s",p->num);printf(" 请输入员工的姓名:n");print
31、f(" 您输入的是:");printf("t");scanf("%s",p->name);printf(" 请输入员工的性别:n");printf(" 您输入的是:");printf("t");scanf("%s",p->sex);printf(" 请输入员工的学历:n");printf(" 您输入的是:");printf("t");scanf("%s",p->
32、;edu);p=p->next;printf("n");return 1;void main()/主函数linklist L;int a;char m;char name10;char num6;initlist(L);int g;int f=1;while(f)meau();scanf("%d",&g);printf("n");switch(g)case 1: creatlist(L);doprintf(" 是否继续输入?(y/n)");printf("t");getchar()
33、;scanf("%c",&m);if(m='y')creatlist(L);while(m!='n');printf("n");break;case 2: printf("请输入修改员工的工号:");printf(" 您输入的是:");printf("t");getchar();scanf("%s",&num);alter(L,num);printf("n");break;case 3: printf(&qu
34、ot;请选择查询方式(1.按工号查询,2.按姓名查找)");printf("n");printf(" 您选择的是:");printf("t");scanf("%d",&a);if(a=1)printf(" 请输入查询员工的工号:n");printf(" 您输入的是:");printf("t");scanf("%s",&num);printf("n");searchnum(L,num);if(a=2)printf(" 请输入查询员工的姓名:n");printf(" 您输入的是:");
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2学会沟通交流(说课稿)-2023-2024学年道德与法治五年级上册统编版
- 2025暂估价材料公开招标合同范本变频水泵排污泵
- 6~9的认识(说课稿)-2024-2025学年一年级上册数学人教版
- 2025以买卖合同担保
- 2024年秋九年级化学上册 第四单元 自然界的水说课稿 (新版)新人教版
- 2023三年级英语上册 Assessment 3说课稿1 湘少版
- 路基边坡防滑平台施工方案
- Unit 4 My tidy bag Lesson 1 I have a big bag (说课稿)-2024-2025学年粤人版(2024)英语三年级上册
- 2023八年级地理上册 第一章 中国的疆域与人口第一节 中国的疆域说课稿 (新版)湘教版
- 出租代工合同范例
- (康德一诊)重庆市2025届高三高三第一次联合诊断检测 英语试卷(含答案详解)
- 2025年福建泉州文旅集团招聘24人高频重点提升(共500题)附带答案详解
- 建筑行业砂石物资运输方案
- 肿瘤全程管理
- 融资报告范文模板
- 桃李面包盈利能力探析案例11000字
- GB/Z 30966.71-2024风能发电系统风力发电场监控系统通信第71部分:配置描述语言
- 污泥处置合作合同模板
- 脑梗死的护理查房
- 2025高考数学专项复习:概率与统计的综合应用(十八大题型)含答案
- 2024-2030年中国紫苏市场深度局势分析及未来5发展趋势报告
评论
0/150
提交评论