版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、算法与数据结构课程设计题目:企业员工信息管理系统设计与实现院、 系: 计算机信息与技术系学科专业: 软 件 工 程 学 号: 学生姓名: 指导教师: 2012年9月16日第一章 设计要求11.1 问题描述11.2 需求分析1第二章 概要设计12.1 主界面设计12.2 存储结构设计22.3 系统功能设计2第三章 模块设计33.1 系统子程序及功能设计33.2 系统功能图3第四章 详细设计44.1 数据类型定义44.2 系统主要子程序详细设计41.新建函数:42.插入函数:63.查找函数:84.删除函数:95.显示函数:106.主函数:117.其他函数:12第五章 测试分析135.程序各功能的运
2、行结果:135.1系统主界面135.2新建信息135.3插入信息145.4查找信息145.5删除信息145.6显示信息155.7退出系统15第六章 源程序清单15第七章 工作总结15第八章 参考文献16第一章 设计要求1.1 问题描述在这个企业员工信息管理系统中,包括企业中所有员工的信息,如:编号、姓名、性别等。并且该系统能够完成所有员工信息的相应查询、更新、插入、删除等功能。1.2 需求分析(1)在相应的每条记录中,应该包括该员工的所有信息,譬如:员工工号、员工姓名、员工性别等;(2)按照指定条件查找某个员工的所有信息; (3)添加新员工的信息;(4)按编号删除已离职的员工的信息;(5)与此
3、同时,除了以上基本的需求以外,该企业员工信息管理系统的程序源代码还应具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。第二章 概要设计2.1 主界面设计 当输入相应的操作字符,通过在主函数中选择并调用对应的子函数程序以及其他函数中的辅助调用,实现并完成各自的功能操作(比如:添加、查找、删除、显示等)。系统主界面如下:2.2 存储结构设计依据给定的数据格式,个人信息由3个字段来组成,即员工工号、员工姓名、员工性别,外加一个判断关键字。如: 员工工号员工姓名员工性别 001 limale 本课程设计根据功能需求,使用线性结构来组织数据,由于要对表中某项数据进行插入、删除操作,所
4、以使用链表比较方便。2.3 系统功能设计依据程序的数据结构和功能,遵照“自顶向下”原则,描述该程序的层次结构,在总体上包括数据的插入、删除、查找以及数据的显示等功能模块。(1)输入函数功能:通过输入各项数据给数据元素,来建立一个数据表。(2)显示函数功能:输出表中所有节点的信息。(3)查找函数功能:按照指定关键字,对相应员工信息进行查找。(4)删除函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。(5)主函数功能:调用以上子函数,并用开关语句进行选择性的调用。(6)其它函数功能:主要起辅助作用。第三章 模块设计3.1 系统子程序及功能设计(1)新建函数: void create()
5、; /通过输入各项数据给数据元素,来建立一个数据表。(2)显示函数: void show(); /输出表中所有节点的信息。(3)查找函数: void search();/按照指定关键字,对相应员工信息进行查找。(4)删除函数: void del();/查找到要删除员工的响应信息,并将其从表中永久的删除。(5)主函数: void main(); /调用以上子函数,并用开关语句进行选择性的调用。(6)其他函数: int position(); /返回链表中节点个数.(7)退出函数: void end(); /退出程序;3.2 系统功能图 主函数 main 退出 显示 删除 查询 插入 新建图3-2
6、 系统功能图第四章 详细设计4.1 数据类型定义结构体定义:struct staff char id8; /编号 char name10; /姓名 char sex6; /性别 struct staff *next; /指针域 ;4.2 系统主要子程序详细设计1.新建函数:函数原型:void create();函数功能:通过输入各项数据给数据元素,来建立一个数据表。算法要点:(1) 用循环控制输入记录;(2) 为每一结构体数据项输入数据;(3) 返回输入记录数。主要算法:void create()int i,n,c;if(head=null)printf("请输入要建立的员工数:&q
7、uot;);scanf("%d",&n);if(n>0)head=p1=(struct staff *) malloc (len); for(i=1;i<n;i+) printf("nn请输入第%d个员工的信息:n",i);printf("员工工号:");scanf("%s",p1->id);printf("员工姓名:");scanf("%s",p1->name);printf("员工性别:");scanf("%s
8、",p1->sex); p1->next=(struct staff *) malloc (len);p1=p1->next; printf("n请输入第%d个员工的信息:n",i);printf("员工工号:");scanf("%s",p1->id);printf("员工姓名:");scanf("%s",p1->name);printf("员工性别:");scanf("%s",p1->sex); p1->
9、;next=null;printf("nn建立成功!nn任意键返回。");getch();system("cls");elseprintf("输入错误!n任意键返回。"); getch(); system("cls");elseprintf("n已存在员工表,是否重建?nn1.是tt2.否n请选择: bb");scanf("%d",&c);if(c=1)head=null;system("cls");create();else if(c=2)pri
10、ntf("nn任意键退出");getch();system("cls");elseprintf("nn输入错误!任意键退出");getch();system("cls");2.插入函数:void insert()if(head=null)printf("nn未建立员工信息表!nn任意键返回。"); getch();system("cls");elseint i,j,n;struct staff *t;printf("请输入插入的员工信息:nn"); p2=
11、(struct staff *) malloc(len);printf("员工工号:");scanf("%s",p2->id);printf("员工姓名:");scanf("%s",p2->name);printf("员工性别:");scanf("%s",p2->sex);printf("n请输入插入位置:");scanf("%d",&n);j=num();p1=head;if(n=1)head=p2;p2-&
12、gt;next=p1;printf("插入成功!n任意键返回。"); getch(); system("cls");else if(n>1 && n<= j) for(i=1;i<n-1;i+) p1=p1->next; t=p1->next; p1->next=p2; p2->next=t; printf("插入成功!n任意键返回。"); getch(); system("cls");else if(n<=0)printf("插入位置错误&
13、quot;);system("cls");insert();elsewhile(p1->next!=null) p1=p1->next;p1->next=p2;p2->next=null;printf("插入成功!n任意键返回。"); getch(); system("cls");3.查找函数:函数原型:void search();函数功能:按照指定关键字,对相应员工信息进行查找。算法要点:(1) 输入字段和信息相应字段的比较;主要算法:void search()if(head=null)printf(&quo
14、t;nn未建立员工信息表!nn任意键返回。"); getch();system("cls");else char key8; printf("n请输入查询的工号:"); scanf("%s",&key); p1=head; while(strcmp(p1->id,key)!=0 && p1->next!=null)p1=p1->next;if(strcmp(p1->id,key)=0) printf("nn员工工号tt员工姓名tt员工性别n");printf
15、("n%sttt%sttt%sn",p1->id ,p1->name ,p1->sex);printf("nn任意键返回。"); getch();system("cls");else if(p1->next=null)printf("n查无此人nn");printf("nn任意键返回。"); getch();system("cls");4.删除函数:函数原型:void del();函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。算法要点:
16、(1) 按关键字查找信息;(2) 链表中删除节点信息。主要算法:void del()p1=head;if(head=null)printf("nn未建立员工信息表!nn任意键返回。"); getch();system("cls");else char key8; printf("n请输入删除的工号:"); scanf("%s",&key); p1=head;if(strcmp(head->id,key)=0)head=head->next; printf("n删除成功!nn"
17、);printf("nn任意键返回。"); getch();system("cls");else while(strcmp(p1->next->id,key)!=0 && p1->next->next!=null)p1=p1->next;if(strcmp(p1->next->id,key)=0) p1->next=p1->next->next;printf("n删除成功!nn");printf("nn任意键返回。"); getch();s
18、ystem("cls");elseprintf("n查无此人nn");printf("nn任意键返回。"); getch();system("cls");5.显示函数:函数原型:void show();函数功能:输出表中所有节点的信息。算法要点:使用循环输出所有信息。主要算法:void show()if(head=null)printf("nn未建立员工信息表!nn任意键返回。"); getch();system("cls");else int i=1;p1=head; pr
19、intf("nn员工工号tt员工姓名tt员工性别n"); doprintf("n%sttt%sttt%sn",p1->id ,p1->name ,p1->sex);p1=p1->next;while(p1!=null);printf("n总计:%d 人。",num(); printf("nn任意键返回。"); getch();system("cls");6.主函数:主函数主要是调用以上的子函数,用开关语句进行选择性的调用。大致程序如下: void main()while(
20、1)int menumark;printf("n");printf("t*欢迎使用企业员工管理系统*n");printf("t * 1.新建员工信息表 *n");printf("t * 2.插入新员工信息 *n");printf("t * 3.查询员工信息记录 *n");printf("t * 4.删除员工信息记录 *n");printf("t * 5.显示员工信息 *n");printf("t * 6.退出管理系统 *n");prin
21、tf("t*欢迎使用企业员工管理系统*n");printf("n"); printf("t 请输入操作步骤(16): bb");scanf ("%d",&menumark);if (menumark<1 | menumark >6) break;else switch(menumark) case 1: system("cls");create();break;case 2: system("cls");insert();break;case 3: system("cls");search();break;case 4: system("cls&quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位管理制度收录大全【人事管理】十篇
- 2023-2029年中国成品油沿海运输行业市场深度研究及投资战略规划建议报告
- 2025年中国小麦加工行业市场发展监测及投资策略研究报告
- 2025年中国政府云计算行业发展监测及投资战略研究报告
- 变频自动加药控制装置行业深度研究报告
- 齿科器械项目可行性研究报告
- 中国渔夫帽行业发展潜力分析及投资方向研究报告
- 2024年湖北省黄冈市单招职业倾向性测试题库标准卷
- 耳腔鼻喉科护士工作总结
- 对国家安全的认识
- SJG 09-2024 建筑基桩检测标准
- 中小学3D打印科普讲座
- 数学和通信技术的关系与应用
- 发运员工作总结汇报
- 五年级学生读书心得(31篇)
- 20江苏省苏州市2023-2024学年高一上学期期末学业质量阳光指标调研历史试卷
- 社区人民调解工作培训课件
- 新疆油田历年投资计划书
- GB/T 43579-2023区块链和分布式记账技术智能合约生命周期管理技术规范
- 肌萎缩侧索硬化症查房课件
- 数学与语言学、语言艺术的交叉研究
评论
0/150
提交评论