1、 VC+6.0 环境下环境下 简单的职工管理系统简单的职工管理系统 简单的职工管理系统 一、实验目的 (1)熟练掌握线性表基本操作及应用。 (2)利用线性表实现简单的职工管理系统。 二、实验内容: 【问题描述】 对单位的职工进行管理,包括插入、删除、查找、排序等功能。 【基本要求】 职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。 (1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。 (2)删除一名职工:从职工管理文件中删除一名职工对象。 (3)查询:从职工管理文件中查询符合某些条件的职工。 (4)修改:检索某个职工对象,对其某些属性进行修改。 (5)排
2、序:按某种需要对职工对象文件进行排序。 【测试数据】 自己指定。注意尽量覆盖算法的各种情况。 【实现提示】 职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。 (1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。 (2)对职工对象中的“姓名“按字典顺序进行排序。 (3)对排序后的职工对象进行增、删、查询、修改、排序等操作。 【选作内容】 将职工对象按散列法存储,并设计解决冲突的方法。在此基础上实现增、删、查询、修改、 排序等操作。 头文件 /*生成单链表*/ int CreatList(Linklist Linklist p=(Linklist)malloc(s
3、izeof(LNode); if(NULL=p) 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(“请输入员工工作年月
4、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“); scanf(“%s“,p-address); p-next=L-next; L-next=p; printf(“录入成功!n“); return -1; /*初始化单链表*/ int Initlist(Linklist if(!L) return (0); L-next=NULL; return OK; /*显示所有员工信息*/ void Display(Linklist for(p=L-next;p;p=p-next) printf(“姓名 %sn“,p-name); printf(“性别 %sn“,p-sex); printf(“出生年月 %sn“,p-