员工管理系统Word下载.docx
《员工管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《员工管理系统Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
![员工管理系统Word下载.docx](https://file1.bdocx.com/fileroot1/2022-11/16/40957416-e81e-4b28-a5a9-223664dfa089/40957416-e81e-4b28-a5a9-223664dfa0891.gif)
next=NULL;
}
SLNode*ListInsert(SLNode*head,DataTypex)//职工信息的插入
SLNode*p,*q,*s;
p=head->
next;
if((q=(SLNode*)malloc(sizeof(SLNode)))==NULL)
q->
born_date=x.born_date;
age=x.age;
tele_num=x.tele_num;
job_num=x.job_num;
strcpy(q->
name,x.name);
sex=x.sex;
degree,x.degree);
job,x.job);
address,x.address);
if(head->
next==NULL)
{//如果只有链表的头结点,没有其他的结点,直接插入在头结点后面
head->
next=q;
next->
}
else
{//链表非空
for(;
p;
p=p->
next)
{
if(p->
next!
=NULL)
{
if(strcmp(p->
name,x.name)<
0&
&
strcmp(p->
name,x.name)>
0)
{//位于两个结点之间
s=p->
p->
q->
next=s;
break;
}
//elseif(strcmp(p->
name,x.name)==0)break;
//如果姓名相同则不插入信息
}
elseif(strcmp(p->
p->
{//链表非空,并且在排序中是最后一个
p->
q->
break;
if(strcmp(p->
{//位于链表头结点之后的位置
s=head->
head->
}
returnhead;
voidprint(SLNode*head)//职工信息的显示
for(SLNode*p=head->
next)//输出所有职工的信息
printf("
%s%c%ld%ld%s%s%s%ld%ld\n"
p->
name,p->
sex,p->
born_date,p->
age,p->
degree,p->
job,p->
address,p->
tele_num,p->
job_num);
voidprintLink(SLNode*head)//职工信息的显示
printf("
职工名单:
\n姓名、性别、出生年月、年龄、学历、职务、住址、电话、工号\n"
);
print(head);
voidput(SLNode*head,FILE*fp)//职工信息的保存
SLNode*p;
if((fp=fopen("
Employee.txt"
"
a"
))==NULL)
{
无法打开'
Employee.txt'
!
\n"
//exit(0);
//return0;
for(p=head->
fprintf(fp,"
if(fclose(fp))
无法关闭'
voidListDelete(SLNode*head)//职工信息的删除
SLNode*p,*s;
charx[20];
inta,job_num;
s=head;
{//链表为空,输出:
名单中无职工信息,无须删除!
名单中无此职工信息,无须删除!
return;
\t******************************************************************\n"
\t*职工信息删除操作*\n"
\t**\n"
\t*0.退出查询系统,回到主菜单\t\t1.按姓名进行删除\t*\n\t*2.按工号进行删除\t\t*\n"
while
(1)
请选择你要进行的操作:
"
scanf("
%d"
&
a);
if(a==0)break;
elseif(a==1)
printf("
请输入要删除职工的姓名:
//输入要删除的人的姓名
scanf("
%s"
x);
for(p;
{//在链表中从头到尾查找输入的人的姓名
name,x)==0)
{
//如果存在,则删除,否则输出:
s->
next=p->
free(p);
printf("
删除成功!
请继续操作!
printLink(head);
s=p;
if(p==NULL)
elseif(a==2)
printf("
请输入要删除职工的工号:
//输入要删除的人的工号
scanf("
%ld"
for(p;
{
//在链表中从头到尾查找输入的人的工号
if(p->
job_num==job_num)
{
}
voidListModify(SLNode*head)//职工信息的修改
DataTypex;
/*if(p==NULL)
职工名单无职工信息,无须修改!
}*/
请输入要修改的职工姓名:
scanf("
x.name);
for(;
if(strcmp(x.name,p->
name)==0)//查找到了该职工的信息
依次写入该职工的新信息:
请输入职工信息:
%s%c%ld%ld%s%s%s%ld%ld"
name,&
sex,&
born_date,&
address,&
tele_num,&
修改成功!
break;
if(p==NULL)
此职工不存在,无法修改其信息!
voidListfind(SLNodehead)//职工信息的查找
inti,j;
if(head.next==NULL)//链表为空
名单中无职工信息,查询失败!
//返回主菜单
\t★☆☆★☆☆★☆☆★★☆☆★☆☆★☆☆★★☆☆★☆☆★☆☆★☆☆★\n"
\t☆*职工信息查询操作*☆\n"
\t★**********★\n"
\t☆☆\n"
\t★0.结束管理系统\t\t\t\t1.姓名进行查询\t★\n\t☆2.出生年月查询\t\t\t\t3.职工学历查询\t☆\n\t★4.职工年龄查询\t\t\t\t5.职工职务查询\t☆\n\t★6.职工住址查询\t\t\t\t7.职工电话查询\t☆\n\t★8.职工工号查询\t\t\t\t\t★\n"