




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构员工管理系统一、设计题目[问题描述] 每个员工的信息包括:编号、姓名、性别、出生年月、学历职务、电话、住址等。系统能够完成员工信息的查询、更新、插入、删除、排序等功能。[基本要求]排序:按不同关键字,对所有员工的信息进行排序。
(2)查询:按特定条件查找员工。
(3)更新:按编号对某个员工的某项信息进行修改。
(4)插入:加入新员工的信息。
(5)删除:按编号删除已离职的员工的信息。
二、运行环境数据结构员工管理系统全文共19页,当前为第1页。MrosoftVisualC++6.0数据结构员工管理系统全文共19页,当前为第1页。三、算法设计的思想构造链表存储用户记录。四、算法的流程图五、算法设计分析(1)构造顺序表存储用户记录。(2)利用冒泡法对用户名和号码分别进行排序数据结构员工管理系统全文共19页,当前为第2页。数据结构员工管理系统全文共19页,当前为第2页。六、源代码#include"stdio.h"#include"stdlib.h"#include"string.h"//定义节点类型typedefstructnode{ charid[10]; charname[10]; charsex[10]; charbirth[10]; charxueli[10]; charzhiwu[10]; charphone[10]; charaddress[10]; structnode*next;}node,*linklist;//头插法生成单链表intcreatlist(linklist&L){ linklistp; p=(linklist)malloc(sizeof(node)); if(!p) { return(0); } else { printf("请输入员工编号\n"); scanf("%s",p->id);printf("请输入员工姓名\n"); scanf("%s",p->name);数据结构员工管理系统全文共19页,当前为第3页。数据结构员工管理系统全文共19页,当前为第3页。 scanf("%s",p->sex); printf("请输入员工生日\n"); scanf("%s",p->birth); printf("请输入员工学历\n"); scanf("%s",p->xueli); printf("请输入员工职务\n"); scanf("%s",p->zhiwu); printf("请输入员工电话\n"); scanf("%s",p->phone); printf("请输入员工地址\n"); scanf("%s",p->address); } p->next=L->next; L->next=p;}//初始化单链表intinitlist(linklist&L){ L=(linklist)malloc(sizeof(node)); if(!L) return(0); L->next=NULL; return1;}//显示所有员工信息voiddisplay(linklist&L){ linklistp; for(p=L->next;p;p=p->next) { printf("编号%s",p->id); printf("姓名%s",p->name); printf("性别%s",p->sex);数据结构员工管理系统全文共19页,当前为第4页。数据结构员工管理系统全文共19页,当前为第4页。 printf("学历%s",p->xueli); printf("职务%s",p->zhiwu); printf("电话%s",p->phone); printf("地址%s\n",p->address); }}//按id删除intdel(linklist&L,charid[10]){ node*p; node*r; p=L->next; r=L; while(!(strcmp(p->id,id)==0)&&p) { r=p; p=p->next; } if(!p) printf("\n删除位置不合理\n"); else { r->next=p->next; free(p); printf("删除成功\n"); } return1;} //查询idintsearchid(linklist&L,charid[10]){ node*p; p=L;数据结构员工管理系统全文共19页,当前为第5页。数据结构员工管理系统全文共19页,当前为第5页。 { if(strcmp(p->id,id)==0) { printf("编号%s",p->id); printf("姓名%s",p->name); printf("性别%s",p->sex); printf("生日%s",p->birth); printf("学历%s",p->xueli); printf("职务%s",p->zhiwu); printf("电话%s",p->phone); printf("地址%s\n",p->address); } p=p->next; } return1;}//查询姓名intsearchname(linklist&L,charname[10]){ node*p; p=L; while(p) { if(strcmp(p->name,name)==0) { printf("编号%s",p->id); printf("姓名%s",p->name); printf("性别%s",p->sex); printf("生日%s",p->birth); printf("学历%s",p->xueli); printf("职务%s",p->zhiwu); printf("电话%s",p->phone); printf("地址%s\n",p->address); } p=p->next;数据结构员工管理系统全文共19页,当前为第6页。数据结构员工管理系统全文共19页,当前为第6页。 return1;}//修改intxiugai(linklist&L,charid[10]){ node*p; p=L; while(p) { if(strcmp(p->id,id)==0) { printf("请输入员工编号\n"); scanf("%s",p->id); printf("请输入员工姓名\n"); scanf("%s",p->name); printf("请输入员工性别\n"); scanf("%s",p->sex); printf("请输入员工生日\n"); scanf("%s",p->birth); printf("请输入员工学历\n"); scanf("%s",p->xueli); printf("请输入员工职务\n"); scanf("%s",p->zhiwu); printf("请输入员工电话\n"); scanf("%s",p->phone); printf("请输入员工地址\n"); scanf("%s",p->address); } p=p->next; } return1;}//排序voidSort(linklist&L)数据结构员工管理系统全文共19页,当前为第7页。数据结构员工管理系统全文共19页,当前为第7页。 linklistLa; linklistp,q,m;La=(linklist)malloc(sizeof(node)); La->next=NULL; while(L->next) { for(q=L->next,p=L->next;p->next;p=p->next) { if((strcmp(p->next->id,q->id))>0) { m=p; q=p->next; } } if(q==L->next) { L->next=L->next->next; } else { m->next=q->next; } q->next=La->next; La->next=q; } L=La; display(L);}数据结构员工管理系统全文共数据结构员工管理系统全文共19页,当前为第8页。#include"stdio.h"#include"stdlib.h"#include"string.h"#include"head.h"//主函数voidmain(){ linklistL; inta; charm; charname[10];charid[10]; initlist(L); inty; intx=1; while(x) { printf("****************\n"); printf("1添加员工信息\n"); printf("2修改员工信息\n"); printf("3删除员工信息\n"); printf("4查询员工信息\n"); printf("5排序员工信息\n"); printf("6显示所有员工信息\n"); printf("7退出\n"); printf("****************\n"); printf("请输入代码:"); scanf("%d",&y); switch(y) { case1:creatlist(L);数据结构员工管理系统全文共19页,当前为第9页。数据结构员工管理系统全文共19页,当前为第9页。 { printf("否继续输入?(y/n)"); getchar(); scanf("%c",&m); if(m=='y') { creatlist(L); } } while(m!='n'); break; case2:printf("请输入修改员工编号"); getchar(); scanf("%s",&id); xiugai(L,id); break; case3:printf("请输入删除员工编号"); getchar(); scanf("%s",&id); del(L,id); break; case4:printf("请输入查询方式(1按编号查询,2按姓名查找)"); scanf("%d",&a); if(a==1) { printf("请输入查询员工编号\n"); scanf("%s",&id); searchid(L,id); } if(a==2) { printf("请输入查询员工姓名\n");数据结构员工管理系统全文共19页,当前为第10页。数据结构员工管理系统全文共19页,当前为第10页。 searchname(L,name); } break; case5: Sort(L); break; case6:printf("所有员工信息如下所示\n"); display(L); break; case7:x=0; break; } } }数据结构员工管理系统全文共数据结构员工管理系统全文共19页,当前为第11页。运行结果主界面数据结构员工管理系统全文共数据结构员工管理系统全文共19页,当前为第12页。添加员工信息数据结构员工管理系统全文共数据结构员工管理系统全文共19页,当前为第13页。修改员工信息数据结构员工管理系统全文共数据结构员工管理系统全文共19页,当前为第14页。删除员工信息数据结构员工管理系统全文共数据结构员工管理系统全文共19页,当前为第15页。查询员工信息数据结构员工管理系统全文共19页,当前为第16页。数据结构员工管理系统全文共19页,当前为第16页。排序数据结构员工管理系统全文共19页,当前为第17页。数据结构员工管理系统全文共19页,当前为第17页。显示数据结构员工管理系统全文共19页,当前为第18页。数据结构员工管理系统全文共19页,当前为第18页。八、收获及体会实训期间,让我学到了很多东西,不仅使我在理论上对软件行业有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,对我来说受益非浅。除此以外,我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。第一次亲身感受到理论与实际的相结合,让我大开眼界。也是对以前所学知识的一个初审吧!这次实训对于我以后学习、找工作也真是受益菲浅,在这短短的几天中相信这些宝贵的经验会成为我今后成功的重要的基石。作为一名大二的学生,经过两年的在校学习,对程序设计有了理性的认识和理解。在校期间,一直忙于理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通事故损害赔偿及车辆维修服务合同
- 车辆抵押贷款信用评估与授信合同
- 电力设施运维及售后保障合同范本
- 餐饮企业厨师保密协议及知识产权保护合同
- 六年级个人工作总结(8篇)
- 小学二年级演讲稿(19篇)
- 武汉汉正街地区用地规划说明书
- 2025小班幼师健康教育计划(4篇)
- 营业员技能大赛复习测试卷附答案
- 气瓶练习试题及答案
- 租赁电瓶合同范文
- 【MOOC】影视鉴赏-扬州大学 中国大学慕课MOOC答案
- 2024年成人高考成考(高起专)数学(文科)试题及答案指导
- 《石油化工储运系统罐区设计规范》(SHT3007-2014)
- 安徽省江南十校2023-2024学年高二下学期5月阶段联考化学A试题
- 2024年广西高考化学试卷真题(含答案解析)
- 第六单元 资本主义制度的初步确立 复习课件 2024-2025学年统编版九年级历史上册
- 弘扬伟大长征精神-走好今天的长征路课件
- 技术部研发奖金分配方案1
- 双减背景下初中数学分层设计作业课题研究结题总结汇报
- 老妈是个菜贩子(2022年海南中考语文试卷记叙文阅读题及答案)
评论
0/150
提交评论