数据结构c语言员工信息管理系统Word下载.docx

上传人:b****2 文档编号:3797305 上传时间:2023-05-02 格式:DOCX 页数:25 大小:19.96KB
下载 相关 举报
数据结构c语言员工信息管理系统Word下载.docx_第1页
第1页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第2页
第2页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第3页
第3页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第4页
第4页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第5页
第5页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第6页
第6页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第7页
第7页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第8页
第8页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第9页
第9页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第10页
第10页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第11页
第11页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第12页
第12页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第13页
第13页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第14页
第14页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第15页
第15页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第16页
第16页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第17页
第17页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第18页
第18页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第19页
第19页 / 共25页
数据结构c语言员工信息管理系统Word下载.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据结构c语言员工信息管理系统Word下载.docx

《数据结构c语言员工信息管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构c语言员工信息管理系统Word下载.docx(25页珍藏版)》请在冰点文库上搜索。

数据结构c语言员工信息管理系统Word下载.docx

构造一个空的线性表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;

  if(p1==head)head=p1->

next

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2