版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 vc+6.0环境下 简单的职工管理系统 简单的职工管理系统一、实验目的(1)熟练掌握线性表基本操作及应用。(2)利用线性表实现简单的职工管理系统。二、实验内容:【问题描述】对单位的职工进行管理,包括插入、删除、查找、排序等功能。【基本要求】职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。【测试数据】自
2、己指定。注意尽量覆盖算法的各种情况。【实现提示】职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。(2)对职工对象中的姓名按字典顺序进行排序。(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。【选作内容】将职工对象按散列法存储,并设计解决冲突的方法。在此基础上实现增、删、查询、修改、排序等操作。头文件/*生成单链表*/int creatlist(linklist &l)linklist h=null;linklist p=(linklist)malloc(sizeof(lnode);if(null=p
3、)printf(录入失败提示:内存不足!n); return -1; h=l-next;while(h) if(h-name=p-name) free(p); printf(录入失败提示:此职工号已经存在!n); return -1; h=h-next; printf(请输入员工姓名n);scanf(%s,p-name); printf(请输入员工性别n); scanf(%s,p-sex); printf(请输入员工出生年月n);scanf(%s,p-birthdate); printf(请输入员工工作年月n);scanf(%s,p-workdate); printf(请输入员工学历n); s
4、canf(%s,p-edu); printf(请输入员工职务n);scanf(%s,p-duty);printf(请输入员工电话n);scanf(%s,p-phone); printf(请输入员工地址n);scanf(%s,p-address);p-next=l-next;l-next=p; printf(录入成功!n); return -1;/*初始化单链表*/int initlist(linklist &l)l=(linklist)malloc(sizeof(lnode);if(!l)return (0);l-next=null;return ok;/*显示所有员工信息*/void dis
5、play(linklist &l)linklist p;for(p=l-next;p;p=p-next)printf(姓名 %sn,p-name);printf(性别 %sn,p-sex);printf(出生年月 %sn,p-birthdate);printf(工作年月 %sn,p-workdate);printf(学历 %sn,p-edu);printf(职务 %sn,p-duty);printf(电话 %sn,p-phone);printf(地址 %sn,p-address); printf(=n);/*出生年月查询*/int searchbirthdate(linklist &l,cha
6、r birthdate20)lnode *p;p=l;while(p)if(strcmp(p-birthdate,birthdate)=0)printf(姓名 %sn,p-name);printf(性别 %sn,p-sex);printf(出生年月 %sn,p-birthdate); printf(工作年月 %sn,p-workdate);printf(学历 %sn,p-edu);printf(职务 %sn,p-duty);printf(电话 %sn,p-phone);printf(地址 %sn,p-address); return ok;p=p-next;printf(没有此人n);retu
7、rn 0;/*姓名查询*/int searchname(linklist &l,char name10)lnode *p;p=l;while(p)if(strcmp(p-name,name)=0)printf(姓名 %sn,p-name);printf(性别 %sn,p-sex);printf(出生年月 %sn,p-birthdate); printf(工作年月 %sn,p-workdate);printf(学历 %sn,p-edu);printf(职务 %sn,p-duty);printf(电话 %sn,p-phone);printf(地址 %sn,p-address); return ok
8、; p=p-next;printf(没有此人n);return 0;/* 性别查询*/void searchsex(linklist &l,char sex10)lnode *p;p=l;int tag=1;while(p)if(strcmp(p-sex,sex)=0)printf(姓名 %sn,p-name);printf(性别 %sn,p-sex);printf(出生年月 %sn,p-birthdate); printf(工作年月 %sn,p-workdate);printf(学历 %sn,p-edu);printf(职务 %sn,p-duty);printf(电话 %sn,p-phone
9、);printf(地址 %sn,p-address);tag=0;p=p-next;if(tag=1)printf(找不到符合此条件的职工!);/* 地址查询*/int searchaddress(linklist &l,char address30)lnode *p;p=l;while(p)if(strcmp(p-address,address)=0) printf(姓名 %sn,p-name);printf(性别 %sn,p-sex);printf(出生年月 %sn,p-birthdate); printf(工作年月 %sn,p-workdate);printf(学历 %sn,p-edu)
10、;printf(职务 %sn,p-duty);printf(电话 %sn,p-phone);printf(地址 %sn,p-address);return ok;p=p-next;printf(没有此人n);return 0;/*姓名排序*/void sortname(linklist &l ,char name10) linklist la;linklist p,q,m; la=(linklist)malloc(sizeof(lnode);la-next =null;while(l-next) for(q=l-next ,p=l-next ;p-next ;p=p-next )if(strc
11、mp( p-next-name,q-name )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;display(l);/*性别排序*/void sortsex(linklist &l ,char sex10) linklist la;linklist p,q,m; la=(linklist)malloc(sizeof(lnode);la-next =null;while(l-next) for(q=l-next ,p=l-next ;
12、p-next ;p=p-next )if(strcmp( p-next-sex,q-sex)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;display(l);/*出生年月排序*/void sortbirth(linklist &l ,char birthdate20) linklist la;linklist p,q,m; la=(linklist)malloc(sizeof(lnode);la-next =null;while(
13、l-next) for(q=l-next ,p=l-next ;p-next ;p=p-next )if(strcmp( p-next-birthdate,q-birthdate)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;display(l);/*工作年月排序*/void sortwork(linklist &l ,char workdate20) linklist la;linklist p,q,m; la=(linklist
14、)malloc(sizeof(lnode);la-next =null;while(l-next) for(q=l-next ,p=l-next ;p-next ;p=p-next )if(strcmp( p-next-workdate,q-workdate)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;display(l);/*更改*/int alter(linklist &l,char name10)lnode *p;p=l;w
15、hile(p)if(strcmp(p-name,name)=0) printf(请输入员工姓名n);scanf(%s,p-name);printf(请输入员工性别n);scanf(%s,p-sex);printf(请输入员工出生年月n);scanf(%s,p-birthdate); printf(请输入员工工作年月n);scanf(%s,p-workdate);printf(请输入员工学历n);scanf(%s,p-edu);printf(请输入员工职务n);scanf(%s,p-duty);printf(请输入员工电话n);scanf(%s,p-phone);printf(请输入员工地址n)
16、;scanf(%s,p-address);return ok; p=p-next; printf(没有此人n); return 0; /*按姓名删除*/int del(linklist &l,char name10)lnode *p;lnode *r;p=l-next;r=l; while(p)if(strcmp(p-name,name)=0)r-next=p-next; free(p); printf(删除成功n);return ok; p=p-next; printf(没有此人n); return 0;主函数#include#include#include#define true 1#de
17、fine false -1#define ok 1#define error 0#define overflow -2typedef struct lnodechar name10;char sex10;char birthdate20;char workdate20;char edu10;char duty10;char phone20;char address30;struct lnode *next;*linklist;#includeheader.h;void main()linklist l;int a;char name10; char sex10;char birthdate20
18、;char workdate20;char edu10;char duty10;char phone20;char address30;initlist(l);int y;int x=1;while(x)printf(tt*nn); printf(tt欢迎进入职工管理系统nn); printf(tt*n); printf(tt*1-添加员工信息*n);printf(tt*2-查询员工信息*n); printf(tt*3-排序员工信息*n);printf(tt*4-显示员工信息*n);printf(tt*5-更改员工信息*n);printf(tt*6-删除员工信息*n); printf(tt*7-退 出*n); printf(tt*n); printf(请选择操作序号并按回车:);scanf(%d,&y);switch(y)case 1: creatlist(l);break;case 2: printf(请输入查询方式(1按出生年月查询,2按姓名查找,3按性别查找);scanf(%d,&a);if(a=1)printf(请输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026浙江温州市公证协会招聘1人备考题库附参考答案详解【基础题】
- 2026河北承德县招聘公益性岗位人员16人备考题库【巩固】附答案详解
- 中国人民解放军第五七一八工厂 2026届校园招聘备考题库【黄金题型】附答案详解
- 2026云南今邦日杂再生资源有限公司招聘业务员1人备考题库附答案详解(突破训练)
- 2026四川宜宾长宁县淯江文旅集团有限公司招聘员工20名备考题库【易错题】附答案详解
- 2026云南曲靖市罗平县妇幼保健院招聘编外人员18人备考题库含答案详解【研优卷】
- 2026江苏无锡广电物业管理有限公司招聘1人备考题库附答案详解【培优】
- 2026年泉州华光职业学院单招综合素质考试题库有答案详细解析
- 2026年浙江警官职业学院单招综合素质考试题库含答案详细解析
- 2026年泰山科技学院单招综合素质考试题库有答案详细解析
- 前鼻韵母unvn课件
- 2025年政治法制素养题库及答案
- 中山市招投标管理办法
- 医院一站式服务课件
- 板式支护、槽钢支护施工方法
- 浙江专升本政治试题及答案
- 2025年数据中心机房第三方验证测试方案-方案设计
- 工会活动烧烤活动方案
- 化工检修铆工培训课件
- 《酒店计算机信息管理》课件CH10石基PMS:酒店信息管理典型软件介绍
- 酒店转让意向协议书
评论
0/150
提交评论