数据结构员工管理系统

上传人:公**** 文档编号:494732368 上传时间:2024-02-24 格式:DOCX 页数:21 大小:203.34KB
返回 下载 相关 举报
数据结构员工管理系统_第1页
第1页 / 共21页
数据结构员工管理系统_第2页
第2页 / 共21页
数据结构员工管理系统_第3页
第3页 / 共21页
数据结构员工管理系统_第4页
第4页 / 共21页
数据结构员工管理系统_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《数据结构员工管理系统》由会员分享,可在线阅读,更多相关《数据结构员工管理系统(21页珍藏版)》请在金锄头文库上搜索。

1、编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页 共1页一、设计题目问题描述每个员工的信息包括:编号、姓名、性别、出生年月、学历职务、电话、住址等。系统能够完成员工信息的查询、更新、插入、删除、排序等功能。基本要求(1) 排序:按不同关键字,对所有员工的信息进行排序。(2) 查询:按特定条件查找员工。(3) 更新:按编号对某个员工的某项信息进行修改。(4) 插入:加入新员工的信息。(5) 删除:按编号删除已离职的员工的信息。二、运行环境Mrosoft Visual C+6.0三、算法设计的思想 构造链表存储用户记录。四、算法的流程图五、算法设计分析(1)构造顺序表存储用

2、户记录。(2)利用冒泡法对用户名和号码分别进行排序(3)利用直接查找法进行查找六、源代码#includestdio.h#includestdlib.h#include string.h/定义节点类型typedef struct nodechar id10;char name10;char sex10;char birth10;char xueli10;char zhiwu10;char phone10;char address10;struct node *next;node,*linklist;/头插法生成单链表int creatlist(linklist &L)linklist p;p=(

3、linklist)malloc(sizeof(node);if(!p)return (0);elseprintf(请输入员工编号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); pri

4、ntf(请输入员工地址n);scanf(%s,p-address);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 display(linklist &L)linklist p;for(p=L-next;p;p=p-next)printf(编号 %s,p-id);printf(姓名 %s,p-name);printf(性别 %s,p-sex);printf(生日 %s

5、,p-birth);printf(学历 %s,p-xueli);printf(职务 %s,p-zhiwu);printf(电话 %s,p-phone);printf(地址 %sn,p-address);/按id删除int del(linklist &L,char id10)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);elser-next=p-next; free(p);printf(删除成功n);return 1;/查询idint searchid(

6、linklist &L,char id10)node *p;p=L;while(p)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(地址 %sn,p-address);p=p-next;return 1;/查询姓名int searchname(linklist &L,char name10)no

7、de *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(地址 %sn,p-address);p=p-next;return 1;/修改int xiugai(linklist &L,char id10)node *p;p=L;while(p)if(strcmp(

8、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;ret

9、urn 1;/排序void Sort(linklist &L) linklist La;linklist p,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 ;elsem-next =q-next ;q-next =La-next ;La-next =q ;L=La;displ

10、ay(L);#includestdio.h#includestdlib.h#includestring.h#includehead.h/主函数void main()linklist L;int a;char m;char name10; char id10;initlist(L);int y;int x=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

11、);printf(请输入代码:);scanf(%d,&y);switch(y)case 1: creatlist(L);doprintf(否继续输入?(y/n);getchar();scanf(%c,&m);if(m=y)creatlist(L);while(m!=n);break;case 2: printf(请输入修改员工编号);getchar();scanf(%s,&id);xiugai(L,id);break;case 3: printf(请输入删除员工编号);getchar();scanf(%s,&id);del(L,id);break;case 4: printf(请输入查询方式(1按编号查询,2按姓名查找);scanf(%d,&a);if(a=1)printf(请输入查询员工编号n);scanf(%s,&id);searchid(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号