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

上传人:b****5 文档编号:2960202 上传时间:2022-11-16 格式:DOCX 页数:22 大小:20.02KB
下载 相关 举报
数据结构c语言员工信息管理系统.docx_第1页
第1页 / 共22页
数据结构c语言员工信息管理系统.docx_第2页
第2页 / 共22页
数据结构c语言员工信息管理系统.docx_第3页
第3页 / 共22页
数据结构c语言员工信息管理系统.docx_第4页
第4页 / 共22页
数据结构c语言员工信息管理系统.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

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

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

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

数据结构c语言员工信息管理系统

有志者自有千方百计,无志者只感千难万难。

数据结构实习报告

---信息管理

 

学校石家庄铁道大学

指导老师张翠肖

班级信0901-1班

学号20082406

姓名张洁

院系信息分院

2011.07.05

学生信息管理系统

  一、需求分析

  本程序主要是执行链表的删除

插入等功能

  根据程序提示

我们可以添加、修改、删除员工信息

并能进行多种方式的查询

还有员工信息一览

  二、概要设计

  1)为了实现上述功能

需要定义一下抽象的数据类型:

  ADTList{

  数据对象:

D={ai|ai∈ElemSet

i=1

2··············

n

n>=0}

  数据关系:

R1={

ai>|ai-1

ai∈D

i=1

2```````

n}

  基本操作:

  InitList(&L);

  操作结果:

构造一个空的线性表L

  DestroyList(&L);

  初始条件:

线性表L存在

  操作结果:

销毁线性表L

  LocateElem(L

I

&e);

  初始条件:

线性表L存在

1

  操作结果:

用e返回线性表L中第i个数据元素的值

  ClearList(&L);

  初始条件:

线性表L存在

  操作结果:

将线性表L重置为空表

  }ADTGraph

  2)本程序是由几个函数构成的:

  ① 主函数:

main()

  ② 菜单函数menu();

  ③ 文件读入函数:

readdata();

  ④ 文件写入函数:

writedata();

  ⑤ 信息查询函数:

chaxun();

  ⑥ 信息更新函数:

gengxin();

  ⑦ 信息一览函数:

liebiao();

  ⑧ 数据删除函数:

shanchu();

  ⑨ 数据添加函数:

tianjia();

  ⑩ 数据修改函数:

xiugai();

  它们的调用关系如

  

  三、详细设计

  #include

  #include

  #include

  #include//清屏函数头文件

  #include

  #include

  #include

  #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");

  printf("谢谢使用

再见\n");

  }

  voidmenu(void)

  {

  chari

lj[100];intflog;time_tT;

  structtm*timenow;

  time(&T);timenow=localtime(&T);

  flog=0;

  while

(1)

  {

  system("cls");printf("\n\n\n\n\n");

  printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━员工信息管理系统━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");

  printf("┃┃\n");

  printf("┃┃\n");

  printf("┃┃\n");

  printf("┃1.员工信息查询┃\n");

  printf("┃┃\n");

  printf("┃┃\n");

  printf("┃┃\n");

  printf("┃2.员工信息更新┃\n");

  printf("┃┃\n");

  printf("┃┃\n");

  printf("┃┃\n");

  printf("┃3.员工信息列表┃\n");

  printf("┃┃\n");

  printf("┃┃\n");

  printf("┃┃\n");

  printf("┃0.退出管理系统┃\n");

  printf("┃┃\n");

  printf("┃┃\n");

  printf("┃┃\n");

  printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");

  printf("%s"

asctime(timenow));

  printf("请输入您的选择(数字0-3):

\n");

  scanf("%c"

&i);gets(lj);if(lj[0])i='a';

  switch(i)

  {

  case'1':

chaxun();break;

  case'2':

gengxin();break;

  case'3':

liebiao();break;

  case'0':

flog=1;break;

  default:

printf("输入有误

请按回车键重新输入\n");gets(lj);break;

  }if(flog)break;}}

  voidtianjia()

  {

  structemp*p

*p1;charlj[100];

  p=NULL;p1=head;

  printf("请输入第%d个员工的信息.\n"

t+1);

  p=(structemp*)malloc(LEN);

  if(p==NULL)

  {printf("分配空间失败");exit(0);}

  printf("请输入员工的编号:

\n");

  scanf("%ld"

&p->num);

  while((p1!

=NULL)&&(p->num!

=p1->num))p1=p1->next;

  if(p1!

=NULL)

  {if(p->num==p1->num){

  printf("编号已经存在

请重新输入

按回车键继续:

\n");

  free(p);gets(lj);getchar();}}

  printf("请输入员工的姓名:

\n");scanf("%s"

p->name);

  printf("请输入员工的年龄:

\n");scanf("%d"

&p->age);

  printf("请输入员工的性别:

\n");scanf("%s"

p->sex);

  printf("请输入员工的出生年月:

\n");scanf("%s"

p->birthday);

  printf("请输入员工的电话:

\n");scanf("%s"

p->tel);

  printf("请输入员工的学历:

\n");scanf("%s"

p->edu);

  printf("请输入员工的职务:

\n");scanf("%s"

p->pos);

  printf("请输入员工的住址:

\n");scanf("%s"

p->add);

  insert(p);printf("输入的员工信息为:

\n");

  printf("------------------------------------------------------------------------:

\n");

  printf("编号\t\t姓名\t\t年龄\t\t性别\t\t出生年月\t\t电话\t\t学历\t\t职务\t\t住址:

\n");

  display(p);printf("按回车键继续\n");writeDate();gets(lj);getchar();}

  voidinsert(structemp*em)

  {

  structemp*p0

*p1

*p2;p1=head;p0=em;

  if(head==NULL)

  {head=p0;p0->next=NULL;}

  else

  {

  while((p0->num>p1->num)&&(p1->next!

=NULL))

  {p2=p1;p1=p1->next;}if(p0->num<=p1->num)

  {

  if(head==p1)head=p0;

  else

  p2->next=p0;p0->next=p1;}

  else

  {p1->next=p0;p0->next=NULL;}}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"

p->num

p->name

p->age

p->sex

p->birthday

p->tel

p->edu

p->pos

p->add);}

  voidliebiao()

  {

  charlj[100];structemp*p;p=hea

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1