通讯录链表管理(C语言实现)

**问题描述:**

用双链表做数据结构,编写一个通讯录管理系统。本系统应具有信息的增删改查等功能。

**基本要求及提示:**

(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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值