- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC++6.0环境下 简单的职工管理系统
简单的职工管理系统
一、实验目的
(1)熟练掌握线性表基本操作及应用。
(2)利用线性表实现简单的职工管理系统。
二、实验内容:
【问题描述】
对单位的职工进行管理,包括插入、删除、查找、排序等功能。
【基本要求】
职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。
(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。
(2)删除一名职工:从职工管理文件中删除一名职工对象。
(3)查询:从职工管理文件中查询符合某些条件的职工。
(4)修改:检索某个职工对象,对其某些属性进行修改。
(5)排序:按某种需要对职工对象文件进行排序。
【测试数据】
自己指定。注意尽量覆盖算法的各种情况。
【实现提示】
职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。
(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。
(2)对职工对象中的姓名按字典顺序进行排序。
(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。
【选作内容】
将职工对象按散列法存储,并设计解决冲突的方法。在此基础上实现增、删、查询、修改、排序等操作。
头文件
/*生成单链表*/
int CreatList(Linklist L)
{
Linklist h=NULL;
Linklist p=(Linklist)malloc(sizeof(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(请输入员工工作年月\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 L)
{
L=(Linklist)malloc(sizeof(LNode));
if(!L)
return (0);
L-next=NULL;
return OK;
}
/*显示所有员工信息*/
void Display(Linklist L)
{
Linklist p;
for(p=L-next;p;p=p-next)
{
printf(姓名 %s\n,p-name);
printf(性别 %s\n,p-sex);
printf(出生年月 %s\n,p-birthdate);
printf(工作年月 %s\n,p-workdate);
printf(学历 %s\n,p-edu);
printf(职务 %s\n,p-duty);
printf(电话 %s\n,p-phone);
printf(地址 %s\n,p-address);
printf(============================\n);
}
}
/*出生年月查询*/
int SearchBirthdate(Linklist L,char birthdate[20])
{
LNode *p;
p=L;
while(p)
{
if(strcmp(p-birthdate,birthdate)==0)
{
printf(姓名 %s\n,p-name);
prin
文档评论(0)