**问题描述:**
用双链表做数据结构,编写一个通讯录管理系统。本系统应具有信息的增删改查等功能。
**基本要求及提示:**
(1) 每条信息包含姓名、性别、工作单位、电话、e-mail、邮编等项。
(2) 作为一个完整系统,应具有较强的容错性。
代码实现
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define false -0
#define true 1
typedef int bool;
//结构体定义
typedef struct {
char name[10];
char sex[10];
char work[15];
char tel[15];
char email[15];
} ElemType;
typedef struct Node {
ElemType data;
struct Node *prior;
struct Node *next;
} DNode;
typedef DNode *DLinkList;
DLinkList head;
//尾插法创建信息表
void MessageCreat() {
DNode *p, *r;
char flag = 'Y';
head = (DNode *) malloc(sizeof(DNode));
head->prior = NULL;
head->next = NULL; //链表初始化
r = head;
r->next = NULL;
while (flag == 'y' || flag == 'Y') {
//定义临时变量,接收键盘输入,判断输入字符长度是否合法。
char name[100] = {0};
char sex[100] = {0};
char work[100] = {0};
char tel[100] = {0};
char email[100] = {0};
printf("请按照姓名 性别 工作单位 电话 邮箱顺序依次输入相关信息:\n");
scanf("%s %s %s %s %s", name, sex, work, tel, email);
if (strlen(name) >= 10 || strlen(sex) >= 10 || strlen(work) >= 15 || strlen(tel) >= 15 || strlen(email) >= 15) {
printf