c语言编程笔录

首页 > C语言 > c语言

c语言

C语言开发实现通讯录管理系统

更新时间:2023-08-09

前言

通讯录管理系统是一种可以用来存储和管理联系人信息的程序。通常情况下,这个系统被设计成具有添加、删除、编辑和查找联系人信息的功能。为了方便用户的操作,通讯录管理系统还会提供界面友好的用户界面,并能够将联系人信息以合适的格式进行展示。

程序设计

首先,我们需要定义一个数据结构来存储联系人的信息。在C语言中,我们可以使用结构体来表示一个联系人的信息。

// 定义联系人结构体
typedef struct {
    char name[50];
    char phone[20];
    char email[50];
} Contact;

接下来,我们可以创建一个数组来存储多个联系人的信息。

// 定义通讯录数组
Contact contacts[100];
int count = 0; // 记录当前通讯录中联系人的数量

然后,我们可以设计一系列的函数来实现通讯录管理系统的各种功能。以下是一些基本的功能函数:

功能函数

1. 添加联系人:

void addContact() {
    if (count >= 100) {
        printf("通讯录已满,无法添加新的联系人!\n");
        return;
    }
    
    printf("请输入联系人姓名:");
    scanf("%s", contacts[count].name);
    printf("请输入联系人电话:");
    scanf("%s", contacts[count].phone);
    printf("请输入联系人邮箱:");
    scanf("%s", contacts[count].email);
    
    count++;
    printf("联系人添加成功!\n");
}

2. 删除联系人:

void deleteContact() {
    if (count == 0) {
        printf("通讯录已为空,无法删除联系人!\n");
        return;
    }
    
    char name[50];
    printf("请输入要删除的联系人姓名:");
    scanf("%s", name);
    
    int i, j;
    for (i = 0; i < count; i++) {
        if (strcmp(contacts[i].name, name) == 0) {
            for (j = i; j < count-1; j++) {
                strcpy(contacts[j].name, contacts[j+1].name);
                strcpy(contacts[j].phone, contacts[j+1].phone);
                strcpy(contacts[j].email, contacts[j+1].email);
            }
            count--;
            printf("联系人删除成功!\n");
            return;
        }
    }
    
    printf("未找到该联系人!\n");
}

3. 编辑联系人:

void editContact() {
    if (count == 0) {
        printf("通讯录已为空,无法编辑联系人!\n");
        return;
    }
    
    char name[50];
    printf("请输入要编辑的联系人姓名:");
    scanf("%s", name);
    
    int i;
    for (i = 0; i < count; i++) {
        if (strcmp(contacts[i].name, name) == 0) {
            printf("请输入新的联系人姓名:");
            scanf("%s", contacts[i].name);
            printf("请输入新的联系人电话:");
            scanf("%s", contacts[i].phone);
            printf("请输入新的联系人邮箱:");
            scanf("%s", contacts[i].email);
            
            printf("联系人编辑成功!\n");
            return;
        }
    }
    
    printf("未找到该联系人!\n");
}

4. 查找联系人:

void searchContact() {
    if (count == 0) {
        printf("通讯录已为空,无法查找联系人!\n");
        return;
    }
    
    char name[50];
    printf("请输入要查找的联系人姓名:");
    scanf("%s", name);
    
    int i;
    for (i = 0; i < count; i++) {
        if (strcmp(contacts[i].name, name) == 0) {
            printf("姓名:%s\n", contacts[i].name);
            printf("电话:%s\n", contacts[i].phone);
            printf("邮箱:%s\n", contacts[i].email);
            
            return;
        }
    }
    
    printf("未找到该联系人!\n");
}

总结

通过以上代码,我们可以实现一个简单的通讯录管理系统。用户可以通过选择菜单项来执行不同的功能,如添加、删除、编辑和查找联系人等操作。

需要注意的是,以上示例代码只实现了基本的功能,还可以根据实际需求进行扩展和优化。例如,可以添加排序功能,按姓名或者电话号码进行排序;可以考虑使用文件来保存联系人信息,实现数据的持久化等。

希望以上回答能够帮助你理解和实现通讯录管理系统的基本原理和功能。