简单的教职工管理系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息工程学院《数据结构》课程设计报告

设计题目简单的榆林学院教职工管理系统

专业班级

小组成员

一、题目:简单的榆林学院教职工管理系统

二、小组任务分工

三、设计目标

帮助学生熟练掌握线性表的基本操作在两种存储结构上的实现,其中以单链表的操作和应用为重点内容。

四、问题描述

为榆林学院人事处开发一个简单的职工管理系统.职工数据结构自定义,职工信息包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等基本信息.该软件可实现增加职工,删除职工,职工信息查询,职工信息修改等基本功能.

五、概要设计

1)为了实现上述功能,需要定义一下抽象的数据类型:

typedef struct Manage

{ char Number[15]; //编号

char Name[10]; //姓名

char Sex[8]; //性别

char Bir[10]; //出生年月

char WorkD[10]; //工龄

char Edu[20]; //学历

char Job[30]; //职务

char Adress[50]; //住址

char Phone[15]; //手机号

}Manage;

typedef struct node //node结构标记

{

Manage data; //数据域

struct node *next; //指针域

}Dnode; //Dnode变量声明

typedef struct node *LinkList; //结构体链表(实例)

LinkList head; //成员

Dnode *p; //指向Donde的指针

//

Dnode *Ser(LinkList head); //定义Donde的查找函数

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

①主函数 main()

创建链表函数:LinkList Cre(void)

插入函数:Dnode Add(LinkList head ,Dnode *p)

删除函数:Dnode *Del(LinkList head)

输出函数:Dnode show(LinkList head)

更改信息函数:Dnode *Cha(LinkList head,char k[]) 查找函数:Dnode *Ser(LinkList head)

六、详细设计(程序代码及核心代码流程图)

#include"stdio.h"

#include"string.h"

#include"stdlib.h"

int f=0;//定义全局变量

typedef struct Manage

{ char Number[15]; //编号

char Name[10]; //姓名

char Sex[8]; //性别

char Bir[10]; //出生年月

char WorkD[10]; //工龄

char Edu[20]; //学历

char Job[30]; //职务

char Adress[50]; //住址

char Phone[15]; //手机号

}Manage;

typedef struct node //node结构标记

{

Manage data; //数据域

struct node *next; //指针域

}Dnode; //Dnode变量声明

typedef struct node *LinkList; //结构体链表(实例)

LinkList head; //成员

Dnode *p; //指向Donde的指针

//

Dnode *Ser(LinkList head); //定义Donde的查找函数

//各个函数

//菜单

char Menu()

{

int ch=0;

printf("---------------------榆林学院职工管理系统-------------------\n");

printf("1、创建链表\n");

printf("2、添加员工信息 3、修改员工信息\n");

printf("4、查找员工信息 5、浏览职工信息\n");

printf("6、删除职工信息 7、退出\n");

printf("------------------------------------------------------------\n");

printf("请选择您需要的功能:\n");

scanf("%d",&ch);

return ch;

}

//创建链表

/*Manage *Cre(Manage *head)

Manage *p=NULL,*q=head; //p头节点

head=(Manage*)malloc(sizeof(Manage));

return head;

}*/

LinkList Cre(void) //尾插法建立链表

{ int n=1;

Dnode *p,*rear;

char flag='y';

LinkList head=(Dnode*)malloc(sizeof(Dnode)); rear=head; //尾指针指向头指针

//

while(flag=='y'||flag=='Y')

{

p=(Dnode*)malloc(sizeof(Dnode));

if(p==NULL)

{

printf("空间不足,自动退出!\n");

exit(0);

}

printf("请输入第%d名员工信息:\n",n);

printf("请输入您的编号:");

scanf("%s",p->data.Number);

printf("请输入您的姓名:");

scanf("%s",p->);

printf("请输入您的性别:");

scanf("%s",p->data.Sex);

printf("请输入您的出生年月:");

scanf("%s",p->data.Bir);

printf("请输入您的工作年月:");

scanf("%s",p->data.WorkD);

printf("请输入您的学历:");

scanf("%s",p->);

printf("请输入您的职务:");

scanf("%s",p->data.Job);

printf("请输入您的住址:");

scanf("%s",p->data.Adress);

printf("请输入您的手机号:");

scanf("%s",p->data.Phone);

printf("输入完毕。\n");

rear->next=p; //尾节点指向元素

相关文档
最新文档