VC++6.0环境下 简单的职工管理系统 课程设计

上传人:仙*** 文档编号:31393634 上传时间:2021-10-11 格式:DOC 页数:13 大小:55.01KB
收藏 版权申诉 举报 下载
VC++6.0环境下 简单的职工管理系统 课程设计_第1页
第1页 / 共13页
VC++6.0环境下 简单的职工管理系统 课程设计_第2页
第2页 / 共13页
VC++6.0环境下 简单的职工管理系统 课程设计_第3页
第3页 / 共13页
资源描述:

《VC++6.0环境下 简单的职工管理系统 课程设计》由会员分享,可在线阅读,更多相关《VC++6.0环境下 简单的职工管理系统 课程设计(13页珍藏版)》请在装配图网上搜索。

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

19、-退 出*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(请输入查询员工出生年月n);scanf(%s,&birthdate);SearchBirthdate(L,birthdate);if(a=2)printf(请输入查询员工姓名n);scanf(%s,&name);SearchName(L,name); if(a=3)

20、printf(请输入查询员工性别n);scanf(%s,&sex);SearchSex(L,sex); break;case 3: printf(请选择排序条件:1.姓名2.性别3出生年月0.退出n); scanf(%d,&a); if(a=1) printf(姓名排序n); SortName(L,name); if(a=2) printf(性别排序n);SortSex(L,sex); if(a=3) printf(出生年月排序n); SortBirth(L,birthdate); break;case 4: printf(所有员工信息如下所示n);Display(L);break; case 5: printf(请输入更改员工姓名);getchar();scanf(%s,&name);Alter(L,name);break;case 6: printf(请输入删除员工姓名);getchar();scanf(%s,&name);Del(L,name);break;case 7: x=0;break;default:printf(请输入正确序号!n);break;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!