1 一、设计题目[ 问题描述 ] 每个员工的信息包括:编号、姓名、性别、出生年月、学历职务、电话、住址等。系统能够完成员工信息的查询、更新、插入、删除、排序等功能。[ 基本要求 ](1) 排序:按不同关键字,对所有员工的信息进行排序。(2) 查询:按特定条件查找员工。(3) 更新:按编号对某个员工的某项信息进行修改。(4) 插入:加入新员工的信息。(5) 删除:按编号删除已离职的员工的信息。二、运行环境Mrosoft Visual C++6.0 2 三、 算法设计的思想构造链表存储用户记录。四、算法的流程图五、算法设计分析(1)构造顺序表存储用户记录。(2)利用冒泡法对用户名和号码分别进行排序(3)利用直接查找法进行查找3 六、源代码#include"stdio.h" #include"stdlib.h" #include "string.h" // 定义节点类型typedef struct node { char id[10]; char name[10]; char sex[10]; char birth[10]; char xueli[10]; char zhiwu[10]; char phone[10]; char address[10]; struct node *next; }node,*linklist; // 头插法生成单链表int creatlist(linklist &L) { linklist p; p=(linklist)malloc(sizeof(node)); if(!p) { return (0); } else { printf("请输入员工编号 \n"); scanf("%s",p->id); printf("请输入员工姓名 \n"); scanf("%s",p->name); printf("请输入员工性别 \n"); 4 scanf("%s",p->sex); printf("请输入员工生日 \n"); scanf("%s",p->birth); printf("请输入员工学历 \n"); scanf("%s",p->xueli); printf("请输入员工职务 \n"); scanf("%s",p->zhiwu); 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(node)); if(!L) return (0); L->next=NULL; return 1; } // 显示所有员工信息void display(linklist &L) { linklist p; for(p=L->next;p;p=p->next) { printf("编号 %s",p->id); printf("姓名 %s",p->name); printf("性别 %s",p->sex); printf("生日 %s",p->birth); 5 printf("学历 %s",p->xueli); printf("职务 %s",p->zhiwu); printf("电话 %s",p->phone); printf("地址 %s\n",p->address); } } // 按 id 删除int ...