员工管理系统数据结构课程设计
数据结构课程设计_公司职工管理系统
辽宁工业大学课程设计说明书题目:数据结构课程设计学院(系):电子与信息工程学院专业班级:计算机科学与技术专业学号:学生姓名:指导教师:教师职称:副教授起止时间: 2009.12.01—2009.12.08课程设计(论文)任务及评语院(系):电子与信息工程教研室:软件工程目录第1章课程设计目的与要求 (1)1.1课程设计目的 (1)1.2课程设计的实验环境 (1)1.3课程设计的预备知识 (1)1.4课程设计要求 (1)第2章课程设计内容 (2)2.1第五类题目 (2)2.2题目的具体实现 (2)2.3题目内容 (2)2.4思考题解析 (16)总结 (18)参考文献 (19)第1章课程设计目的与要求1.1 课程设计目的本课程设计是计算机科学与技术专业、软件工程专业的专业技术实践课。
本实践课的主要目的是:使学生学会利用在课堂中学过的理论知识,解决相应的实际问题,深入理解和灵活掌握所学的内容,培养学生理论和实践相结合的能力,培养学生分析问题解决问题的能力。
同时,在实验步骤规范化、程序设计方法等方面受到比较系统和规范的训练。
通过实践设计使学生进一步加深对程序设计的规范化及对复杂程序设计步骤的理解。
1.2 课程设计的实验环境PC机,WindowsXP,Win-tc。
1.3 课程设计的预备知识C语言程序设计、高级程序设计应用、数据结构。
1.4 课程设计要求(1)认真查找资料,分析每个题目应选择的数据结构(逻辑结构和物理结构);(2)按时到实验室调试程序,遵守实验室的规章制度,爱护设备;(3)每个题目编写源程序时,每个子功能定义为相应的子函数,在主函数中调用各子函数,程序结构清晰,有必要的注释,可读性强。
(4)程序健壮性强,当数据输入错误时,要进行相应的处理;(5)分析算法的时间复杂度,要求算法的效率尽可能高;(6)对于排序算法,要验证排序算法的稳定性。
第2章课程设计内容2.1 第五类题目1、简单的职工管理系统a.问题描述对单位的职工进行管理,包括插入、删除、查找、排序等功能。
数据结构课程设计(员工管理系统)
目录一、问题描述 1二、测试数据 1三、算法思想 1四、模块划分 1五、数据结构 2六、源程序 2七、测试情况 7八、设计体会 8参考文献 9一、问题描述(1)自定义一个类型表示员工各信息,定义一个顺序表存储员工信息,包括员工编号、姓名、性别、职务、出生年月、学历、电话、地址等。
(2)系统能够完成员工信息的输入、输出、查询、更新、插入、删除、排序等功能,并且数据能由文件导入和导出到文件。
(3)通过菜单选择进行哪一项操作,并输出每一项操作结果。
二、测试数据1 李一女 1989.10.2 本科职员 188******** 广西南宁2 苏三女 1986.3.18 本科职员 180******** 广西北海3 孙大云女 1987.12.1 本科秘书 180******** 广西柳州5 陈二男 1986.7.12 硕士经理 150******** 广西梧州三、算法思想线性表是最常用且最简单的一种线性结构,由数据元素组成,而数据元素又可以包含若干个数据项。
线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,通常用数组表示。
对顺序表的操作可借鉴数组的算法。
在本次课程设计中的员工管理信息系统,每个员工为一个数据元素,包括编号、姓名、性别、学历等数据项。
用一个数组来存储员工信息,对其进行的输入、删除、输出等操作可由一般数组的算法变换而得。
四、模块划分(1)自定义一个数据类型ElemType,表示员工信息,定义一个顺序表List,将员工信息存放于顺序表中,包括员工的编号、姓名、性别、职务、出生年月、学历、电话、地址等,并完成顺序表的初始化;(2)void ListInput(List &L,int n),函数作用是输入员工信息,需要一个循环完成每个员工信息的输入,最后要修改表长;(3)int LocateElem(List L,int num),函数作用是在顺序表里查找某编号员工的信息,从第一个员工开始找,通过编号的两两比较,若找到与要查找员工的编号一致的员工,则返回员工的位置,并在主函数中输出此与员工的信息;(4)void ListInsert(List &L,ElemType e)函数功能是新员工信息的插入,先判断表是否满或此员工的信息是否已存在,若是则不进行插入操作;否则,保持员工编号顺序不变,找到插入点的位置,把从插入点后一位的数据都往后移一个位置,把新信息插入,最后使表长增1;(5)void ListDelete(List &L,int bh)函数作用是员工信息的删除,若表空或所要删除的员工信息不存在,则不进行下一步操作;否则,把删除点后的数据都往前移覆盖其前一个元素,最后使表长减1;(6)void BubbleSort(List &L)函数功能是通过冒泡法试员工信息按编号从小到大排序,进行n-1趟,每趟使小编号的员工信息往上放在表的前端,把编号大的员工信息往下沉到表的末端;(7)ChangeM(List &L),更新员工信息,由菜单选择需要修改的信息项进行修改,并保存新的信息;(8)void newFile(List &L),生成一个新的txt文件,存放员工信息,存入计算机内存;(9)void readFile(List &L),把员工信息从文件中导出;(10)void main()主函数,通过菜单和各函数的调用实现各部分的操作。
职工管理系统数据结构课程设计报告
攀枝花学院数据结构课程设计(论文)题目:职工基本信息管理学生姓名:学号: *********所在院(系):数学与计算机学院专业:计算机科学与技术班级: 2010级计本2班第二组指导教师:周朝职称:讲师2011 年 6 月7 日攀枝花学院本科学生课程设计任务书注:任务书由指导教师填写。
目录一、需求分析 (4)二、概要设计 (5)1、输入功能的实现 (5)2、系统处理功能的实现 (5)3、输出的实现 (5)4、系统功能结构 (5)5、模块函数构造 (6)三、详细设计 (6)1、抽象数据类型定义 (6)2、主函数设计 (7)3、查找算法设计 (8)4、排序算法设计 (8)四、调试分析 (11)五、用户使用说明 (11)六、测试结果 (12)七、附录 (16)1、参考文献 (16)2、实验程序 (16)一、需求分析职工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以职工管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来各个公司基本上都是靠传统的人工方式来管理职工信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。
当今社会,信息迅速膨胀,随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,职工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度远远跟不上公司的需求,有的公司不得不靠增加人力、物力来进行信息管理。
随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。
而作为计算机应用的一部分,使用计算机对职工进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
数据结构课程设计 简单的职工管理系统
数据结构课程设计简单的职工管理系统简单的职工管理系统设计1. 引言本文旨在设计一个简单的职工管理系统,用于匡助管理者进行职工信息的录入、查询、修改和删除等操作。
该系统基于数据结构的相关知识,通过合理的数据结构设计和算法实现,实现对职工信息的高效管理。
2. 功能需求2.1 职工信息录入系统提供一个录入界面,管理者可以输入职工的基本信息,包括职工编号、姓名、性别、年龄、职位等。
系统应该能够对输入的信息进行合法性验证,并将信息存储到合适的数据结构中。
2.2 职工信息查询系统提供一个查询界面,管理者可以根据职工的编号、姓名、职位等条件进行查询。
系统应该能够根据查询条件从数据结构中快速定位到符合条件的职工信息,并将结果展示给管理者。
2.3 职工信息修改系统提供一个修改界面,管理者可以根据职工的编号或者姓名等条件选择一个职工信息进行修改。
系统应该能够根据选择的职工信息,提供可修改的字段,并对输入的修改信息进行合法性验证,并更新数据结构中对应的职工信息。
2.4 职工信息删除系统提供一个删除界面,管理者可以根据职工的编号或者姓名等条件选择一个职工信息进行删除。
系统应该能够根据选择的职工信息,从数据结构中删除对应的职工信息,并给出相应的提示。
3. 数据结构设计为了高效地管理职工信息,我们可以采用链表作为基本的数据结构。
每一个节点表示一个职工信息,包括职工编号、姓名、性别、年龄、职位等字段。
节点之间通过指针进行连接,形成一个链表结构。
3.1 链表节点设计每一个链表节点包含以下字段:- 职工编号(int)- 姓名(string)- 性别(string)- 年龄(int)- 职位(string)- 指向下一个节点的指针(Node*)3.2 链表操作设计- 初始化链表:创建一个空链表,并初始化头节点指针为NULL。
- 添加节点:根据输入的职工信息创建一个新节点,并将其插入到链表的合适位置。
- 删除节点:根据职工的编号或者姓名等条件,找到对应的节点,并将其从链表中删除。
数据结构课程设计-员工信息管理系统
12信计2013-2014(一)数据结构课程设计设计题目员工信息管理系统设计时间2014.1.6~2014.1.10学生姓名葛考学生学号20120402127所在班级12精算指导教师刘风华徐州工程学院数学与物理科学学院题目员工信息管理系统一、需求分析员工信息管理系统设计,具体功能如下:1、系统以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中的输入异常情况。
2、员工信息录入系统(员工信息用文件保存),注意员工按员工编号进行区分,即每个员工的员工编号都是唯一的,不允许出现两个员工或员工编号相同的情况。
3、可对员工信息进行查询,具体分为:按姓名查询、按员工号查询、按生日查询;4、可对员工信息进行删除;5、可对员工信息进行修改,但应注意员工号不能修改,修改应逐个进行,一个员工记录的更改不应影响其他的员工记录;6、可对全部的员工信息进行显示v(员工信息浏览),注意员工信息的显示规范;员工信息应包括姓名、员工编号、性别、年龄、生日、学历、职务、联系电话、住址。
二、概要设计2.1、抽象数据类型ADT List{数据对象:D={ai|ai∈ElemSet,i=1,2,······,n,n>=0}数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=1,2,······,n}基本操作:Init List(&L);操作结果:构造一个空的线性表L。
DestroyList(&L);初始条件:线性表L存在。
操作结果:销毁线性表L。
LocateElem(L,I,&e);初始条件:线性表L存在,1<i<Listlength(L)。
操作结果:用e返回线性表L中第i个数据元素的值。
员工信息管理系统(数据结构)课程设计
员工信息管理系统(数据结构)题目:公司职员信息管理系统学院:计控学院专业班级:软件101学生姓名:刘忠义学号:2010023029指导教师:王一萍目录1.问题描述 (1)1.1基本要求·············错误!未定义书签。
1.2其他需求·············错误!未定义书签。
2.需求分析 (1)3.概要设计·························4.详细设计·························4.1主要功能模块····················4.2数据结构·············4.2.1结构体定义··········4.2.2信息存储····················4.3主要算法描述(部分)··················5.测试分析·························5.1.运行测试·············6.课程设计总结·······················参考文献·························2 4 4 错误!未定义书签。
数据结构课程设计报告(员工管理系统)
数据结构课程设计报告一、课程设计目的:综合运用线性表、查找、排序的相关知识,解决一个实际应用问题。
通过本次实习,要求熟练掌握线性表的存储结构,能在对应的存储结构上进行各种操作,并能分析不同的查找和排序方法的性能。
二、设计基本信息:每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等三、课程设计需要实现的功能:(1)查询:按特定条件查找员工。
(2)更新:按编号对某个员工的某项信息进行修改。
(3)插入:加入新员工的信息。
(4)删除:按编号删除已离职的员工的信息。
(5)排序:按工资,对所有员工的信息进行排序。
四、功能实现代码:#include <string>#include <iostream>#include <fstream>#include <iomanip>#include <memory.h>#include <stdio.h>#include <conio.h>#include <stdlib.h>using namespace std;struct Employee{//声明职工的结构作为链表节点。
//-----数据域-----string m_Code;string m_Name;unsigned short int m_Year;string m_Gender;string m_Edu;string m_Post;unsigned int m_Tel;string m_Add;unsigned int m_Wage;//链表节点的指针域---struct Employee* Next;};typedef struct Employee Node;typedef Node* Link;//-------函数声明-------------Link Create(Link Head);void Release(Link Head);Link Add(Link Head);bool Search(Link Head);Link Search_Unique(Link Head);void Display_List(Link Head);void Display_Node(Link pNode);Link Modify(Link Head);Link Del(Link Head);void Save_ByFile(Link Head,fstream& ofile); Link Sort(Link Head);//-------函数实现--------------------------Link Create(Link Head){//创建一个带头节点的空链表。
数据结构课程设计员工信息管理系统.doc
12信计2013-2014(一)数据结构课程设计设计题目员工信息管理系统设计时间2014.1.6~2014.1.10学生姓名葛考学生学号20120402127所在班级12精算指导教师刘风华徐州工程学院数学与物理科学学院题目员工信息管理系统一、需求分析员工信息管理系统设计,具体功能如下:1、系统以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并且在此过程中能够尽可能的兼容用户使用过程中的输入异常情况。
2、员工信息录入系统(员工信息用文件保存),注意员工按员工编号进行区分,即每个员工的员工编号都是唯一的,不允许出现两个员工或员工编号相同的情况。
3、可对员工信息进行查询,具体分为:按姓名查询、按员工号查询、按生日查询;4、可对员工信息进行删除;5、可对员工信息进行修改,但应注意员工号不能修改,修改应逐个进行,一个员工记录的更改不应影响其他的员工记录;6、可对全部的员工信息进行显示v(员工信息浏览),注意员工信息的显示规范;员工信息应包括姓名、员工编号、性别、年龄、生日、学历、职务、联系电话、住址。
二、概要设计2.1、抽象数据类型ADT List{数据对象:D={ai|ai∈ElemSet,i=1,2,······,n,n>=0}数据关系:R1={<ai-1,ai>|ai-1,ai∈D,i=1,2,······,n}基本操作:Init List(&L);操作结果:构造一个空的线性表L。
DestroyList(&L);初始条件:线性表L存在。
操作结果:销毁线性表L。
LocateElem(L,I,&e);初始条件:线性表L存在,1<i<Listlength(L)。
操作结果:用e返回线性表L中第i个数据元素的值。
数据结构课程设计-职工管理系统
一、前言----------------------------------------------------------------------2二、需求分析----------------------------------------------------------------3三、概要设计----------------------------------------------------------------4四、详细设计----------------------------------------------------------------5五、调试分析----------------------------------------------------------------6六、用户使用说明----------------------------------------------------------7七、测试结果----------------------------------------------------------------8八、总结---------------------------------------------------------------------11九、主要参考文献和附录------------------------------------------------12员工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以员工管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来各个公司基本上都是靠传统的人工方式来管理员工信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。
员工管理系统数据结构课程设计
目录第一章设计题目 (1)第二章运行环境 (1)第一节硬件 (1)第二节软件 (1)第三章算法设计的思想 (2)第四章算法的流程图 (2)第五章算法设计分析 (2)第六章源代码 (2)第一节头文件 (2)第二节主程序 (8)第七章运行结果分析 (11)第八章收获及体会 (17)第九章参考文献 (18)第一章设计题目员工管理系统。
每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。
系统能够完成员工信息的查询、更新、插入、删除、排序等功能。
(1)排序:按不同关键字,对所有员工的信息进行排序。
(2)查询:按特定条件查找员工。
(3)更新:按编号对某个员工的某项信息进行修改。
(4)插入:加入新员工的信息。
(5)删除:按编号删除已离职的员工的信息。
第二章运行环境第一节硬件处理器:Pentium级处理器;推荐使用Pentium90或更高级处理器。
内存:Windows 95或更新版本需32兆内存(推荐使用48兆);Windows NT 4.0需要32兆(推荐使用48兆)。
硬盘:VB典型安装需116兆,最大安装需135兆;VC需302至403兆;VFP需85兆至90兆;VID需81兆至98兆;VJ 需86兆至104兆;VSS需59兆至141兆;IE需43兆至59兆;MSDN需57兆至 493兆;NT 4.0 Option Pack:Win95需用20兆,WinNT需用200兆;SQL(只用于 NT)需80兆至95兆;SNA(只用于NT)50兆至100余兆;升级可能需要更多空间。
第二节软件操作系统:Win9x/NT/2000/XP编译软件:Mrosoft Visual C++6.0/ Mrosoft Visual Studio 6.0 第三章算法设计的思想构造链表存储用户记录。
第四章算法的流程图图4.1算法的流程图第五章算法设计分析(1)构造链表存储用户记录。
(2)利用冒泡法对用户名和号码分别进行排序(3)利用直接查找法进行查找第六章源代码第一节头文件/*Linklist.h*/#include"stdio.h"#include"stdlib.h"#include "string.h"#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -2typedef struct LNode{char id[20];char name[10];char sex[10];char birth[10];char edu[10];char duty[10];char phone[20];char address[30];struct LNode *next;}LNode,*Linklist;//定义节点类型int CreatList(Linklist &L){Linklist p;p=(Linklist)malloc(sizeof(LNode));if(!p){return (0);}else{printf("请输入员工编号\n");scanf("%s",p->id);printf("请输入员工姓名\n");scanf("%s",p->name);printf("请输入员工性别\n");scanf("%s",p->sex);printf("请输入员工生日\n");scanf("%s",p->birth);printf("请输入员工学历\n");scanf("%s",p->edu);printf("请输入员工职务\n");scanf("%s",p->duty);printf("请输入员工电话\n");scanf("%s",p->phone);printf("请输入员工地址\n");scanf("%s",p->address);}p->next=L->next;L->next=p;}//头插法生成单链表int Initlist(Linklist &L){L=(Linklist)malloc(sizeof(LNode));if(!L)return (0);L->next=NULL;return OK;}//初始化单链表void Display(Linklist &L){Linklist p;for(p=L->next;p;p=p->next){printf("编号 %s\n",p->id);printf("姓名 %s\n",p->name);printf("性别 %s\n",p->sex);printf("生日 %s\n",p->birth);printf("学历 %s\n",p->edu);printf("职务 %s\n",p->duty);printf("电话 %s\n",p->phone);printf("地址 %s\n",p->address);printf("============================\n");}}//显示所有员工信息int SearchID(Linklist &L,char id[20]){LNode *p;p=L;while(p){if(strcmp(p->id,id)==0){printf("编号 %s\n",p->id);printf("姓名 %s\n",p->name);printf("性别 %s\n",p->sex);printf("生日 %s\n",p->birth);printf("学历 %s\n",p->edu);printf("职务 %s\n",p->duty);printf("电话 %s\n",p->phone);printf("地址 %s\n",p->address);}p=p->next;}return OK;}//查询IDint SearchName(Linklist &L,char name[10]) {LNode *p;p=L;while(p){if(strcmp(p->name,name)==0){printf("编号 %s\n",p->id);printf("姓名 %s\n",p->name);printf("性别 %s\n",p->sex);printf("生日 %s\n",p->birth);printf("学历 %s\n",p->edu);printf("职务 %s\n",p->duty);printf("电话 %s\n",p->phone);printf("地址 %s\n",p->address);}p=p->next;}return OK;}//查询姓名void Sort(Linklist &L){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->id,q->id ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//排序int Alter(Linklist &L,char id[20]) {LNode *p;p=L;while(p){if(strcmp(p->id,id)==0){printf("请输入员工编号\n");scanf("%s",p->id);printf("请输入员工姓名\n");scanf("%s",p->name);printf("请输入员工性别\n");scanf("%s",p->sex);printf("请输入员工生日\n");scanf("%s",p->birth);printf("请输入员工学历\n");scanf("%s",p->edu);printf("请输入员工职务\n");scanf("%s",p->duty);printf("请输入员工电话\n");scanf("%s",p->phone);printf("请输入员工地址\n");scanf("%s",p->address);}p=p->next;}return OK;}//更改int Del(Linklist &L,char id[20]){LNode *p;LNode *r;p=L->next;r=L;while(!(strcmp(p->id,id)==0)&&p){r=p;p=p->next;}if(!p)printf("\n删除位置不合理\n");else{r->next=p->next;free(p);printf("删除成功\n");}return OK;}//按ID删除第二节主程序#include"Linklist.h"//主函数void main(){Linklist L;int a;char m;char name[10];char id[20];Initlist(L);int y;int x=1;while(x){printf("****************************\n");printf("欢迎进入陈超的员工管理系统!\n");printf("****************************\n");printf("1-添加员工信息\n");printf("2-查询员工信息\n");printf("3-排序员工信息\n");printf("4-显示所有员工信息\n");printf("5-更改员工信息\n");printf("6-删除员工信息\n");printf("7-退出\n");printf("****************************\n");printf("请选择操作序号并按回车:");scanf("%d",&y);switch(y){case 1: CreatList(L);do{printf("是否继续输入?(y/n)");getchar();scanf("%c",&m);if(m=='y'){CreatList(L);}}while(m!='n');break;case 2: printf("请输入查询方式(1按编号查询,2按姓名查找)");scanf("%d",&a);if(a==1){printf("请输入查询员工编号\n");scanf("%s",&id);SearchID(L,id);}if(a==2){printf("请输入查询员工姓名\n");scanf("%s",&name);SearchName(L,name);}break;case 3:Sort(L);break;case 4: printf("所有员工信息如下所示\n");Display(L);break;case 5: printf("请输入更改员工编号");getchar();scanf("%s",&id);Alter(L,id);break;case 6: printf("请输入删除员工编号");getchar();scanf("%s",&id);Del(L,id);break;case 7: x=0;break;default:printf("请输入正确序号!\n");break;}}}第七章运行结果分析图7.1 员工管理系统主界面图7.2 添加员工信息图7.3 按编号查询员工信息图7.4 按姓名查询员工信息图7.5 排序员工信息图7.6 显示所有员工信息图7.7 更改员工信息图7.8 删除员工信息图7.9 退出员工管理系统图7.10 操作序号输入错误第八章收获及体会一周的数据结构课程设计结束了,在考试前组织这次课程设计是非常有必要的也是很有效的,让我把数据结构这门课课堂上学习的知识更实际地运用到生活实践中,加深了对相关知识的理解,现实的来说更有助于考试。
数据结构课程设计_公司职工管理系统
辽宁工业大学课程设计说明书题目:数据结构课程设计学院(系):电子与信息工程学院专业班级:计算机科学与技术专业学号:学生姓名:指导教师:教师职称:副教授起止时间: 2009.12.01—2009.12.08课程设计(论文)任务及评语院(系):电子与信息工程教研室:软件工程目录第1章课程设计目的与要求 (1)1.1课程设计目的 (1)1.2课程设计的实验环境 (1)1.3课程设计的预备知识 (1)1.4课程设计要求 (1)第2章课程设计内容 (2)2.1第五类题目 (2)2.2题目的具体实现 (2)2.3题目内容 (2)2.4思考题解析 (16)总结 (18)参考文献 (19)第1章课程设计目的与要求1.1 课程设计目的本课程设计是计算机科学与技术专业、软件工程专业的专业技术实践课。
本实践课的主要目的是:使学生学会利用在课堂中学过的理论知识,解决相应的实际问题,深入理解和灵活掌握所学的内容,培养学生理论和实践相结合的能力,培养学生分析问题解决问题的能力。
同时,在实验步骤规范化、程序设计方法等方面受到比较系统和规范的训练。
通过实践设计使学生进一步加深对程序设计的规范化及对复杂程序设计步骤的理解。
1.2 课程设计的实验环境PC机,WindowsXP,Win-tc。
1.3 课程设计的预备知识C语言程序设计、高级程序设计应用、数据结构。
1.4 课程设计要求(1)认真查找资料,分析每个题目应选择的数据结构(逻辑结构和物理结构);(2)按时到实验室调试程序,遵守实验室的规章制度,爱护设备;(3)每个题目编写源程序时,每个子功能定义为相应的子函数,在主函数中调用各子函数,程序结构清晰,有必要的注释,可读性强。
(4)程序健壮性强,当数据输入错误时,要进行相应的处理;(5)分析算法的时间复杂度,要求算法的效率尽可能高;(6)对于排序算法,要验证排序算法的稳定性。
第2章课程设计内容2.1 第五类题目1、简单的职工管理系统a.问题描述对单位的职工进行管理,包括插入、删除、查找、排序等功能。
数据结构课程设计报告-企业员工管理系统
广东某某学院《数据结构课程设计》题目:企业员工管理系统学号:姓名:年级:学院:专业:指导教师:一、功能需求运用所学知识设计一个企业员工管理系统,对单位的员工进行管理,包括插入、删除、查找、排序等功能。
员工对象包括姓名、性别、年龄、职位、工龄等信息。
二、功能分析员工对象包括姓名、性别、年龄、职位、工龄等信息。
(1)新增一名员工:将新增员工对象按姓名以字典方式员工管理文件中,基本信息中的编号是按照添加顺序自动增加的。
(2)删除一名员工:从员工管理文件中删除一名员工对象,分为根据编号删除、根据姓名删除。
(3)查询:从员工管理文件中查询符合某些条件(编号、姓名)的员工。
(4)修改:根据编号检索出对象,既可以对整个对象修改,也可对某个属性修改。
(5)排序:按照年龄、工龄对所有的员工排序(降序),也可以回复排序以前的员工现实状态。
三、基本思想数据结构链表:可以不需要初始化容量并且可以任意增减元素链式存储:插入及删除元素时方便五、测试结果六、调试情况分析1.操作界面相对简洁,基本功能已实现七、心得体会1.这是一个特殊的学期,因为疫情在学习上的常态都被打乱了,在家度过了这个特殊的学期。
在这个学期虽然在家也没有停止学习的步伐,但是比起在学校的学习效率差了不少。
经过了一个学期的学习,我对于数据结构有了一定的了解,也对于c/c++有了进一步认识。
在线上的学习过程,我一开始对数据结构不太上心在一些基础知识的掌控上不是很到位,在做课程设计的任务当中比较常在一些基础知识的认识上犯错。
不过因为在线上学习,所以在不懂的时候还可以通过看课堂视频的回放,查补自己的一些缺漏。
2.因为长期在家学习,所以对于学习怠慢了不少。
我在上一个学期对于c/c++掌握得不够透彻,又因为这个学期的怠慢,在这次课程设计过程中被指针绕晕过不少回,在一些函数类型的定义上也出过不少的错误。
学习不进则退,在这次课程设计中我认识到了,多练习才可以更好的掌握这个课程的知识,它不是一个可以通过死记硬背就可以掌握好的。
数据结构课程设计报告---简单的职工管理系统
else
{
int opr;
int l = 1;
int k = 0;
double n;
char ch;
char in[20];
cout<<"请输入查询方式:\n";
cout<<"1.按姓名查找!\n";
cout<<"2.按性别查找!\n";
cout<<"3.按出生年月查找!\n";
cout<<"4.按工作年月查找!\n";
#include<fstream.h>
#define max 100
int i = 0;
int j = 0;
struct Workers{
char name[20];
char sex;
long birthday;
long workday;
char diploma[20];
char position[20];
cout<<"5.按学历查找!\n";
cout<<"6.按职务查找!\n";
cout<<"7.按地址查找!\n";
cout<<"8.按电话查找!\n";
cin>>opr;
switch(opr)
{
case 1:
cout<<"请输入职工姓名:\n";
cin>>in;
for(;k <=i;k++)
{
if(strcmp(worker[k].name,in)==0)
c人员管理系统课程设计
c 人员管理系统课程设计一、课程目标知识目标:1. 学生能理解人员管理系统的基本概念、功能及在企事业单位中的应用。
2. 学生能掌握人员管理系统中的数据结构、操作流程和信息录入、查询、修改等基本操作。
3. 学生了解人员管理系统在提高工作效率、优化资源配置等方面的优势。
技能目标:1. 学生能运用所学知识,设计简单的人员管理系统,实现员工信息的录入、查询、修改和删除功能。
2. 学生能通过实际操作,掌握人员管理系统的使用方法,提高实际操作能力。
3. 学生能运用人员管理系统进行数据分析,为企事业单位提供决策支持。
情感态度价值观目标:1. 学生通过学习人员管理系统,认识到信息技术在现代社会中的重要作用,增强对信息技术的兴趣和认同。
2. 学生在团队协作中,培养沟通与协作能力,提高解决问题的能力。
3. 学生在学习过程中,关注企事业单位的人员管理问题,培养社会责任感和主人翁意识。
本课程针对高年级学生,结合学科特点和教学要求,注重理论与实践相结合,以培养学生实际操作能力和解决问题的能力为核心。
通过本课程的学习,使学生能够掌握人员管理系统的基本知识和技能,为未来从事相关工作奠定基础。
同时,注重培养学生的情感态度价值观,提高学生的综合素质。
课程目标的设定具有针对性和可衡量性,便于教学设计和评估。
二、教学内容1. 人员管理系统概述:介绍人员管理系统的发展背景、基本概念、功能特点及在企事业单位中的应用。
- 教材章节:第一章 人员管理系统概述2. 人员管理系统数据结构:讲解人员管理系统中的数据表结构、字段设置及其关系。
- 教材章节:第二章 数据结构设计3. 人员管理系统操作流程:分析人员管理系统的操作流程,包括信息录入、查询、修改、删除等。
- 教材章节:第三章 操作流程与功能模块4. 人员管理系统应用实例:通过案例分析,使学生了解人员管理系统在实际工作中的应用。
- 教材章节:第四章 应用实例5. 实践操作与技能训练:指导学生进行人员管理系统的实际操作,培养动手能力和解决问题的能力。
C语言职工管理系统课程设计
C语言职工管理系统课程设计一、课程目标知识目标:1. 理解C语言中结构体的定义和使用,掌握职工管理系统中的数据结构设计。
2. 学会使用数组、链表等数据结构存储和管理职工信息。
3. 掌握C语言中文件操作,实现职工信息的读写和存储。
技能目标:1. 能够运用所学知识编写一个简单的C语言职工管理系统,包括职工信息的增加、删除、修改和查询功能。
2. 培养学生分析问题、解决问题的能力,通过编程实践,掌握模块化编程思想。
情感态度价值观目标:1. 培养学生合作学习的意识,增强团队协作能力。
2. 激发学生对计算机编程的兴趣,提高学习积极性。
3. 培养学生严谨、认真的学习态度,养成良好的编程习惯。
课程性质:本课程为高年级C语言程序设计课程的实践项目,旨在让学生通过实际项目开发,巩固所学知识,提高编程能力。
学生特点:学生已具备一定的C语言基础,了解基本语法和数据结构,但缺乏实际项目经验。
教学要求:结合学生特点,注重实践操作,强调团队合作,培养学生解决实际问题的能力。
教学过程中,将目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 结构体和链表:复习结构体的定义和链表的基础操作,结合职工管理系统需求,设计职工信息的数据结构。
教材章节:第三章“结构体与共用体”,第四章“链表”。
2. 文件操作:学习文件读写基本操作,实现职工信息的持久化存储。
教材章节:第五章“文件操作”。
3. 函数设计:掌握模块化编程思想,编写功能函数实现职工管理系统的各项功能。
教材章节:第二章“函数”。
4. 系统集成:将各个模块整合,实现职工管理系统的完整功能。
教材章节:第六章“综合实例分析”。
5. 项目测试与优化:学习测试方法,对职工管理系统进行测试和优化。
教材章节:第八章“程序调试与优化”。
教学内容安排和进度:第一周:复习结构体和链表知识,设计职工信息数据结构。
第二周:学习文件操作,实现职工信息的读写和存储。
第三周:编写功能函数,实现职工管理系统的各项功能。
数据库课程设计——员工管理系统
1、系统功能概述1.1 系统的功能浴池管理系统是利用计算机根据员工信息、客户信息和服务信息建立的,用vb6.0开发实现的。
该系统能够进行员工信息、客户信息、服务信息的查询、修改、添加和删除。
数据管理可以很方便地查询任一项信息并进行修改或者删除,数据查询可以根据姓名查询到此姓名人员的各种信息,如年龄、性别、联系电话等。
1.2 系统结构总图2、数据库设计2.1 需求分析这个是为某个浴池准备的浴池管理系统,这个系统需要处理四种信息。
首先作为数据库设计人员,需要知道所需信息:包月客户信息:包月客户号、姓名、性别、年龄、联系电话、服务号;散户信息:散户号、姓名、性别、年龄、服务号;员工信息:员工号、姓名、性别、年龄、电话;服务信息:服务号、服务名、价格。
然后作为数据库设计人员需要考虑系统的处理要求。
这个系统的适用对象是浴池的管理人员,比如柜台收银员之类的人员才能够使用。
所以设有登录系统,只有注册过的工作人员才能使用这个系统。
另外应该有查询、添加、删除、修改功能,可以进行查询如用户使用了什么服务等信息,根据信息来进行结账。
而管理人员不可能只有一名,所以还有注册功能,可以进行重复注册。
2.2 E-R模型2.3 关系模型(1)员工信息(员工号、姓名、性别、年龄、电话)(2)包月客户信息(包月客户号、姓名、性别、年龄、联系电话、服务号)(3)散户信息(散户号、姓名、性别、年龄、服务号)(4)服务信息(服务号、服务名、价格)(5)注册信息(用户名,密码)2.4表结构设计图一员工信息图二包月客户信息图三散户信息图四服务信息图五密码表3、系统各功能模块的详细设计(1)首先是欢迎界面,如下图:源代码:Private Sub Picture1_Click()Form1.ShowUnload MeEnd Sub这样设置的话,鼠标点击图片就能进入登陆页面。
(2)登录窗体,如下图源代码:Dim miCount As IntegerPrivate Sub Command1_Click()Dim sqlstr As Stringsqlstr = "Select * From 密码表Where 用户名= '" & Text1.Text & "'" Adodc1.RecordSource = sqlstrAdodc1.RefreshIf Adodc1.Recordset.BOF ThenMsgBox "用户名错误,重新输入", vbExclamation, "警告"Text1.Text = " "Text1.SetFocusElseIf Adodc1.Recordset.Fields("密码") = Text2 ThenMDIForm1.ShowUnload MeElseMsgBox "密码错误,重新输入", vbExclamation, "警告"Text2.Text = " "Text2.SetFocusEnd IfmiCount = miCount + 1If miCount = 3 Then Unload Me End SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Command3_Click() Form2.ShowEnd Sub(3)主窗体,如下图:源代码:Private Sub 包月查询_Click() Form9.ShowUnload MeEnd SubPrivate Sub 包月客户_Click() Form4.ShowUnload MeEnd SubPrivate Sub 服务_Click() Form10.ShowUnload MeEnd SubPrivate Sub 散户_Click() Form5.ShowEnd SubPrivate Sub 退出_Click()EndEnd SubPrivate Sub 新用户注册_Click()Form6.ShowUnload MeEnd SubPrivate Sub 员工_Click()Form7.ShowUnload MeEnd SubPrivate Sub 员工查询_Click()Form12.ShowUnload MeEnd Sub(4)注册新用户窗体,在两次密码一致并且用户名不重复的情况下,注册才会成功,点击重置,可以清空文本框,进行重新输入。
员工管理系统数据库课设
数据库系统原理及其应用教程课程设计报告题目名称员工管理系统班级学号姓名指导教师编写时间2009年12月29日目录第1章概述 (3)第2章需求分析系统功能分析 (3)系统结构图 (3)数据流图 (4)数据字典 (4)第3章培训需求信息概念结构设计 (6)第4章数据库逻辑结构设计 (9)第5章源代码及查询截图源代码 (13)查询截图 (39)第六章总结及体会 (48)第七章参考文献 (49)一.概述企业通过一个好的员工培训管理系统,能使企业的培训工作系统化、规范化、自动化,从而提高企业员工的素质和工作能力,使企业保持强大的竞争力。
培训管理系统需要维护员工信息、管理培训资源和教材,设计培训计划,安排培训课程,对课程进行评价。
此外还要考虑内部培训和外出培训的问题,最后,系统还需安排系统用户管理、权限管理。
二.需求分析1.系统功能分析根据系统功能的要求,员工培训系统可以分为以下几点:●包括员工基本信息、职称、岗位、已经培训过的课程和成绩、培训计划等。
●员工各种信息的查询、修改、包括员工的基本信息、职称、岗位、已经培训过的课程和成绩、培训计划等。
●培训课程信息的输入,包括课时、课程种类等。
●培训课程信息的查询、修改。
●企业所有管理员工培训需求的管理。
●企业培训计划的制定、修改。
●培训课程的评价。
●培训管理系统的使用帮助。
●教师信息的管理、教师评价。
●培训资源管理。
●培训教材管理。
●员工外出培训管理。
●系统用户管理、权限管理。
2.系统结构图3.数据流图4.数据字典通过对企业员工培训管理的内容和数据流程的分析,设计的数据项和数据结构如下:●员工基本状况。
起数据项有员工号、员工姓名、性别、所在部门、身份证号、生日、籍贯、国籍、名族、婚姻状况、健康状况、参加工作时间、员工状态、家庭住址和联系电话等。
●员工成绩状况。
其数据项有员工号、课程名称、时间、地点、授课教师、成绩、评价和是否通过等。
●课程信息。
其数据项有课程号、课程类别、课程名、课程学时、等效课程、预修课程、开课部门和初训/复训等。
《数据结构》课程设计之企业员工信息管理系统设计与实现要点
《算法与数据结构》课程设计题目:企业员工信息管理系统设计与实现院、系:计算机信息与技术系学科专业:软件工程学号: B10060XXX学生姓名: XX指导教师: X X2012年9月16日目录第一章设计要求 (2)1。
1 问题描述 (2)1。
2 需求分析 (2)第二章概要设计 (3)2.1 主界面设计 (3)2.2 存储结构设计 (3)2。
3 系统功能设计 (4)第三章模块设计 (4)3。
1 系统子程序及功能设计 (4)3。
2 系统功能图 (5)第四章详细设计 (5)4。
1 数据类型定义 (5)4。
2 系统主要子程序详细设计 (6)1。
显示函数: (6)2。
删除函数: (6)3。
查询函数: (7)4。
修改函数: (9)5。
主函数: (10)8.其他函数: (11)第五章测试分析 (12)5。
程序各功能的运行结果: (12)5。
1系统主界面 (12)5。
2建立信息 (12)5。
3修改信息 (13)5。
4查询信息 (13)5。
5显示信息 (14)5。
6删除信息 (14)5.7退出系统 (15)第六章源程序清单 (16)第七章工作总结 (23)第八章参考文献 (23)第一章设计要求1.1 问题描述企业员工信息管理系统,包括企业中所有员工的基本信息,如:工号、姓名、性别、学历等。
且该系统能够完成新员工的增添、所有员工信息的相应查询、修改、删除等各项功能。
1.2 需求分析(1)在相应的每条记录中,应该包括该员工的所有信息,如:工号、姓名、性别、学历等;(2)根据不同关键字(如工号,姓名等),对所有员工的信息进行排序;(3)按照指定条件查找某个员工的所有信息;(4)按工号对某个员工的信息进行修改;(5)添加新员工的信息;(6)按工删除已离职、退休员工的信息;(7)与此同时,除了以上基本的需求以外,该企业员工信息管理系统的程序源代码还应具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。
第二章概要设计2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/*Linklist.h*/#include"stdio.h"#include"stdlib.h"#include "string.h"#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -2typedef struct LNode{char id[20];char name[10];char sex[10];char birth[10];char edu[10];char duty[10];char phone[20];char address[30];struct LNode *next;}LNode,*Linklist;//定义节点类型int CreatList(Linklist &L){Linklist p;p=(Linklist)malloc(sizeof(LNode));if(!p){return (0);}else{printf("请输入员工编号\n");scanf("%s",p->id);printf("请输入员工姓名\n");scanf("%s",p->name);printf("请输入员工性别\n");scanf("%s",p->sex);printf("请输入员工生日\n");scanf("%s",p->birth);printf("请输入员工学历\n");scanf("%s",p->edu);printf("请输入员工职务\n");scanf("%s",p->duty);printf("请输入员工电话\n");scanf("%s",p->phone);printf("请输入员工地址\n");scanf("%s",p->address);}p->next=L->next;L->next=p;}//头插法生成单链表int Initlist(Linklist &L){L=(Linklist)malloc(sizeof(LNode));if(!L)return (0);L->next=NULL;return OK;}//初始化单链表void Display(Linklist &L){Linklist p;for(p=L->next;p;p=p->next){printf("编号%s\n",p->id);printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birth);printf("学历%s\n",p->edu);printf("职务%s\n",p->duty);printf("电话%s\n",p->phone);printf("地址%s\n",p->address);printf("============================\n");}}//显示所有员工信息int SearchID(Linklist &L,char id[20]){LNode *p;p=L;while(p){if(strcmp(p->id,id)==0){printf("编号%s\n",p->id);printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birth);printf("学历%s\n",p->edu);printf("职务%s\n",p->duty);printf("电话%s\n",p->phone);printf("地址%s\n",p->address);}p=p->next;}return OK;}//ID查询int SearchName(Linklist &L,char name[10]) {LNode *p;p=L;while(p){if(strcmp(p->name,name)==0){printf("编号%s\n",p->id);printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birth);printf("学历%s\n",p->edu);printf("职务%s\n",p->duty);printf("电话%s\n",p->phone);printf("地址%s\n",p->address);}p=p->next;}return OK;}//姓名查询void SortID(Linklist &L ,char id[20]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->id,q->id ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//编号排序void SortName(Linklist &L ,char name[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->name,q->name ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//姓名排序void SortSex(Linklist &L ,char sex[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->sex,q->sex))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//性别排序void SortBirth(Linklist &L ,char birth[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->birth,q->birth ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//出生年月排序void SortEdu(Linklist &L ,char edu[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->edu,q->edu ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//学历排序void SortDuty(Linklist &L ,char duty[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->duty,q->duty ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//职务排序void SortPhone(Linklist &L ,char phone[20]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->phone,q->phone ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//电话排序void SortAddress(Linklist &L ,char address[30]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->address,q->address ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//地址排序int Alter(Linklist &L,char id[20]){LNode *p;p=L;while(p){if(strcmp(p->id,id)==0){printf("请输入员工编号\n");scanf("%s",p->id);printf("请输入员工姓名\n");scanf("%s",p->name);printf("请输入员工性别\n");scanf("%s",p->sex);printf("请输入员工生日\n");scanf("%s",p->birth);printf("请输入员工学历\n");scanf("%s",p->edu);printf("请输入员工职务\n");scanf("%s",p->duty);printf("请输入员工电话\n");scanf("%s",p->phone);printf("请输入员工地址\n");scanf("%s",p->address);}p=p->next;}return OK;}//更改int Del(Linklist &L,char id[20]){LNode *p;LNode *r;p=L->next;r=L;while(!(strcmp(p->id,id)==0)&&p){r=p;p=p->next;}if(!p)printf("\n删除位置不合理\n");else{r->next=p->next;free(p);printf("删除成功\n");}return OK;}//按ID删除//主函数void main(){Linklist L;int a;char m;char name[10];char id[20];char sex[10];char birth[10];char edu[10];char duty[10];char phone[20];char address[30];Initlist(L);int y;int x=1;while(x){printf("****************************\n");printf("欢迎进入员工管理系统!\n");printf("****************************\n");printf("1-添加员工信息\n");printf("2-查询员工信息\n");printf("3-排序员工信息\n");printf("4-显示所有员工信息\n");printf("5-更改员工信息\n");printf("6-删除员工信息\n");printf("7-退出\n");printf("****************************\n");printf("请选择操作序号并按回车:");scanf("%d",&y);switch(y){case 1: CreatList(L);do{printf("是否继续输入?(y/n)");getchar();scanf("%c",&m);if(m=='y'){CreatList(L);}}while(m!='n');break;case 2: printf("请输入查询方式(1按编号查询,2按姓名查找)");scanf("%d",&a);if(a==1){printf("请输入查询员工编号\n");scanf("%s",&id);SearchID(L,id);}if(a==2){printf("请输入查询员工姓名\n");scanf("%s",&name);SearchName(L,name);}break;case 3: printf("请选择排序条件:1.编号2.姓名3.性别4.出生年月5.学历6.职务7.电话8.地址0.退出\n");scanf("%d",&a);if(a==1){printf("编号排序\n");SortID(L,id);}if(a==2){printf("姓名排序\n");SortName(L,name);}if(a==3){printf("性别排序\n");SortSex(L,sex);}if(a==4){printf("出生年月排序\n");SortBirth(L, birth);}if(a==5){printf("姓名排序\n");SortDuty(L,duty);}if(a==6){printf("姓名排序\n");SortEdu(L,edu);}if(a==7){printf("姓名排序\n");SortPhone(L,phone);}if(a==8){printf("姓名排序\n");SortAddress(L,address);}break;case 4: printf("所有员工信息如下所示\n");Display(L);break;case 5: printf("请输入更改员工编号");getchar();scanf("%s",&id);Alter(L,id);break;case 6: printf("请输入删除员工编号");getchar();scanf("%s",&id);Del(L,id);break;case 7: x=0;break;default:printf("请输入正确序号!\n");break;}}}。