数据结构c语言员工信息管理系统Word文档下载推荐.docx
- 文档编号:20586771
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:22
- 大小:20.09KB
数据结构c语言员工信息管理系统Word文档下载推荐.docx
《数据结构c语言员工信息管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据结构c语言员工信息管理系统Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。
构造一个空的线性表L
DestroyList(&
初始条件:
线性表L存在
销毁线性表L
LocateElem(L
I
&
e);
1<
i<
Listlength(L)
用e返回线性表L中第i个数据元素的值
ClearList(&
将线性表L重置为空表
}ADTGraph
2)本程序是由几个函数构成的:
① 主函数:
main()
② 菜单函数menu();
③ 文件读入函数:
readdata();
④ 文件写入函数:
writedata();
⑤ 信息查询函数:
chaxun();
⑥ 信息更新函数:
gengxin();
⑦ 信息一览函数:
liebiao();
⑧ 数据删除函数:
shanchu();
⑨ 数据添加函数:
tianjia();
⑩ 数据修改函数:
xiugai();
它们的调用关系如
三、详细设计
#include<
stdio.h>
malloc.h>
stdlib.h>
windows.h>
//清屏函数头文件
string.h>
time.h>
io.h>
#defineLENsizeof(structemp)
#defineDATA"
employee.txt"
structemp
{
longintnum;
//编号
charname[20];
//姓名
intage;
//年龄
charsex[4];
//性别
charbirthday[10];
//生日
chartel[15];
//电话
charedu[8];
//学历
charpos[20];
//职务
charadd[30];
//住址
structemp*next;
};
structemp*head=NULL;
intt=0;
voidmenu();
voidgengxin();
voidtianjia();
voidinsert(structemp*em);
voiddisplay(structemp*p);
voidliebiao();
voidchaxun();
voidbianhao();
voidshengri();
voidxingming();
voidreadDate();
voidwriteDate();
voidfreeAll();
voidshanchu();
voidchange();
voiddevise(structemp*p);
voidmain()
structemp*head=NULL;
head=(structemp*)malloc(LEN);
head->
next=NULL;
system("
color1f"
);
system("
modecon:
cols=150lines=500"
readDate();
menu();
system("
cls"
printf("
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
谢谢使用
再见\n"
}
voidmenu(void)
chari
lj[100];
intflog;
time_tT;
structtm*timenow;
time(&
T);
timenow=localtime(&
flog=0;
while
(1)
{
system("
printf("
\n\n\n\n\n"
printf("
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━员工信息管理系统━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n"
┃┃\n"
┃1.员工信息查询┃\n"
┃2.员工信息更新┃\n"
┃3.员工信息列表┃\n"
┃0.退出管理系统┃\n"
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n"
%s"
asctime(timenow));
请输入您的选择(数字0-3):
\n"
scanf("
%c"
i);
gets(lj);
if(lj[0])i='
a'
;
switch(i)
{
case'
1'
:
break;
2'
3'
liebiao();
0'
flog=1;
default:
printf("
输入有误
请按回车键重新输入\n"
}if(flog)break;
}}
voidtianjia()
structemp*p
*p1;
charlj[100];
p=NULL;
p1=head;
请输入第%d个员工的信息.\n"
t+1);
p=(structemp*)malloc(LEN);
if(p==NULL)
{printf("
分配空间失败"
exit(0);
}
请输入员工的编号:
scanf("
%ld"
p->
num);
while((p1!
=NULL)&
(p->
num!
=p1->
num))p1=p1->
next;
if(p1!
=NULL)
{if(p->
num==p1->
num){
printf("
编号已经存在
请重新输入
按回车键继续:
free(p);
getchar();
请输入员工的姓名:
scanf("
%s"
name);
请输入员工的年龄:
%d"
age);
请输入员工的性别:
sex);
请输入员工的出生年月:
birthday);
请输入员工的电话:
tel);
请输入员工的学历:
edu);
请输入员工的职务:
pos);
请输入员工的住址:
add);
insert(p);
输入的员工信息为:
------------------------------------------------------------------------:
编号\t\t姓名\t\t年龄\t\t性别\t\t出生年月\t\t电话\t\t学历\t\t职务\t\t住址:
display(p);
按回车键继续\n"
writeDate();
gets(lj);
voidinsert(structemp*em)
structemp*p0
*p1
*p2;
p1=head;
p0=em;
if(head==NULL)
{head=p0;
p0->
else
while((p0->
num>
p1->
num)&
(p1->
next!
=NULL))
{p2=p1;
p1=p1->
}if(p0->
num<
num)
if(head==p1)head=p0;
else
p2->
next=p0;
next=p1;
}
else
{p1->
p0->
}}t++;
voiddisplay(structemp*p)
{printf("
%ld\t\t%s\t\t%d\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\t\t%s\n"
num
name
age
sex
birthday
tel
edu
pos
voidliebiao()
charlj[100];
structemp*p;
p=head;
if(head==NULL){printf("
查找不到信息\n"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━员工信息列表━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"
编号\t\t姓名\t\t年龄\t\t性别\t\t出生年月\t\t电话\t\t学历\t\t职务\t\t住址:
if(head!
{while(p!
=NULL){display(p);
p=p->
}}
\n按回车键返回主菜单\n"
voidchaxun()
time_tT;
structtm*timenow;
flog=0;
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━员工信息查询系统━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n"
┃1.按照编号查询┃\n"
┃2.按照姓名查询┃\n"
┃3.按照生日查询┃\n"
bianhao();
case'
xingming();
shengri();
请重新输入\n"
}}
voidbianhao()
intnumber;
charlj[100];
structemp*p1;
请输入要查询员工的编号:
number);
while((number!
{p1=p1->
if(number==p1->
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━员工信息查询━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"
要查询的员工信息:
printf("
p1->
getchar();
elseif(p1->
next==NULL)
{printf("
要查询的员工信息不存在
按回车键返回:
gets(lj);
voidxingming()
charch[10];
structemp*p;
p=head;
请输入要查询的员工的名字:
ch);
if(p==NULL)
不存在员工记录
按回车键返回.\n"
return;
while(strcmp(ch
name)&
{p=p->
if(!
strcmp(ch
name))
display(p);
elseif(p->
不存在员工记录.\n"
getchar();
return;
voidshengri()
{
charbir[20]
p=head;
请输入要查询的员工的出生日期:
bir);
不存在员工记录.按回车键返回\n"
while(strcmp(bir
birthday)&
strcmp(bir
voidreadDate()
FILE*fp;
structemp*p1
fp=fopen(DATA
"
r"
fp)
打开文件失败!
{fscanf(fp
"
%d\n"
t);
head=p1=p2=(structemp*)malloc(LEN);
fscanf(fp
while(!
feof(fp))
{p1=(structemp*)malloc(LEN);
fscanf(fp
p2->
p2=p1;
p2->
fclose(fp);
voidwriteDate()
FILE*fp;
structemp*p1;
w"
remove(fp);
}else
{fprintf(fp
for(p1=head;
p1!
=NULL;
p1=p1->
next){fprintf(fp
}fclose(fp);
voidfreeAll()
structemp*p1
p1=p2=head;
while(p1)
{p2=p1->
free(p1);
p1=p2;
voidshanchu()
longintnumber;
无员工纪录!
按回车键返回\n"
return;
请输入你要删除的员工的编号:
while(number!
num&
{p2=p1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 语言 员工 信息管理 系统