c语言编程笔录

首页 > C语言 > c语言

c语言

C语言实现个人通讯录管理系统

更新时间:2023-08-12

前言

个人通讯录管理系统是一个用于管理个人联系人信息的系统。使用C语言来实现该系统,可以通过命令行界面或者简单的图形界面来进行操作。本文将使用C语言编写代码,并解释代码的用途和规范。

代码实现

下面是一个简单的C语言程序实现个人通讯录管理系统的示例:

#include 
#include 
#include 

#define MAX_CONTACTS 100

struct Contact {
    char name[50];
    char phone[20];
    char email[50];
};

struct Contact contacts[MAX_CONTACTS];
int totalContacts = 0;

void addContact() {
    if (totalContacts < MAX_CONTACTS) {
        struct Contact newContact;
        printf("请输入联系人姓名:");
        scanf("%s", newContact.name);
        printf("请输入联系人电话号码:");
        scanf("%s", newContact.phone);
        printf("请输入联系人电子邮件:");
        scanf("%s", newContact.email);
        contacts[totalContacts++] = newContact;
        printf("联系人添加成功!\n");
    } else {
        printf("通讯录已满,无法继续添加联系人。\n");
    }
}

void searchContact() {
    char keyword[50];
    printf("请输入要搜索的关键词:");
    scanf("%s", keyword);
    int found = 0;
    for (int i = 0; i < totalContacts; i++) {
        if (strstr(contacts[i].name, keyword) || strstr(contacts[i].phone, keyword) || strstr(contacts[i].email, keyword)) {
            printf("姓名:%s\n", contacts[i].name);
            printf("电话号码:%s\n", contacts[i].phone);
            printf("电子邮件:%s\n", contacts[i].email);
            found = 1;
        }
    }
    if (!found) {
        printf("未找到相关联系人。\n");
    }
}

void displayContacts() {
    for (int i = 0; i < totalContacts; i++) {
        printf("姓名:%s\n", contacts[i].name);
        printf("电话号码:%s\n", contacts[i].phone);
        printf("电子邮件:%s\n", contacts[i].email);
        printf("-----------\n");
    }
}

int main() {
    int choice;
    do {
        printf("个人通讯录管理系统\n");
        printf("====================\n");
        printf("1. 添加联系人\n");
        printf("2. 搜索联系人\n");
        printf("3. 显示所有联系人\n");
        printf("0. 退出\n");
        printf("请输入您的选择:");
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                addContact();
                break;
            case 2:
                searchContact();
                break;
            case 3:
                displayContacts();
                break;
            case 0:
                break;
            default:
                printf("无效的选择,请重新输入。\n");
        }
    } while (choice != 0);

    printf("感谢使用个人通讯录管理系统!\n");
    return 0;
}

代码解释

该程序使用了C语言的结构体来表示联系人信息。通讯录最大容量定义为MAX_CONTACTS,可以根据需要进行调整。定义了一个数组contacts用于存储联系人信息,totalContacts变量用于记录已存在的联系人数量。

addContact函数用于向通讯录中添加联系人。首先,检查通讯录是否已满,如果未满,则提示用户输入联系人的姓名、电话号码和电子邮件。联系人对象被添加到contacts数组中,并递增totalContacts。

searchContact函数用于按关键词搜索联系人。用户输入关键词后,遍历所有联系人,如果姓名、电话号码或电子邮件中包含关键词,则打印出相应联系人的信息。

displayContacts函数用于显示所有联系人的信息。遍历所有联系人,并按格式打印出每个联系人的姓名、电话号码和电子邮件。

在main函数中,使用循环让用户选择操作,可以选择添加联系人、搜索联系人、显示所有联系人或退出程序。根据用户的选择,调用相应的函数。

总结

通过以上代码实现,我们成功创建了一个简单的个人通讯录管理系统。该系统能够实现添加联系人、搜索联系人和显示所有联系人的功能。通过使用C语言的结构体和数组,我们能够方便地存储和查询联系人信息,提供了基本的通讯录管理功能。