c语言编程笔录

首页 > C语言 > c语言

c语言

C语言实现简易通讯录(静态版本)的代码分享

更新时间:2023-08-09

前言

通讯录是一种常见的电子化联系人管理系统,它允许用户存储和管理其联系人信息。本文将使用C语言实现一个简易的通讯录程序,该程序将具有静态版本的特点,即联系人信息只会在程序运行期间存储在内存中,并不会永久保存。以下是关于代码设计和实现的详细说明。

数据结构设计

在实现通讯录程序之前,我们需要定义一个适当的数据结构来存储联系人的信息。在这个简化版本中,我们可以选择使用结构体来表示一个联系人,结构体中的字段可以包括姓名、电话号码和电子邮件等信息。下面是一个示例代码:

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

在这个示例中,我们使用了三个字符数组来存储联系人的姓名、电话号码和电子邮件,分别是name、phone和email。

程序实现

下面是一个简单的C语言代码示例,实现了一个简易通讯录的静态版本。这个程序允许用户添加新的联系人,查看所有联系人以及搜索指定联系人的功能。

#include 
#define MAX_CONTACTS 100

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

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

void addContact() {
    if (numContacts < MAX_CONTACTS) {
        struct Contact newContact;
        printf("请输入姓名:");
        scanf("%s", newContact.name);
        printf("请输入电话:");
        scanf("%s", newContact.phone);
        printf("请输入邮箱:");
        scanf("%s", newContact.email);
        contacts[numContacts++] = newContact;
        printf("联系人已添加\n");
    } else {
        printf("通讯录已满,无法添加新联系人\n");
    }
}

void viewContacts() {
    if (numContacts == 0) {
        printf("通讯录为空\n");
    } else {
        printf("所有联系人:\n");
        for (int i = 0; i < numContacts; i++) {
            printf("联系人%d:\n", i+1);
            printf("姓名:%s\n", contacts[i].name);
            printf("电话:%s\n", contacts[i].phone);
            printf("邮箱:%s\n", contacts[i].email);
        }
    }
}

void searchContact() {
    char searchName[50];
    printf("请输入要搜索的联系人姓名:");
    scanf("%s", searchName);
  
    for (int i = 0; i < numContacts; i++) {
        if (strcmp(searchName, contacts[i].name) == 0) {
            printf("联系人%d:\n", i+1);
            printf("姓名:%s\n", contacts[i].name);
            printf("电话:%s\n", contacts[i].phone);
            printf("邮箱:%s\n", contacts[i].email);
                return;
        }
    }
  
    printf("未找到匹配的联系人\n");
}

int main() {
    int choice;
  
    while (1) {
        printf("--- 通讯录 ---\n");
        printf("1. 添加联系人\n");
        printf("2. 查看所有联系人\n");
        printf("3. 搜索联系人\n");
        printf("4. 退出\n");
        printf("请选择操作:");
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                addContact();
                break;
            case 2:
                viewContacts();
                break;
            case 3:
                searchContact();
                break;
            case 4:
                printf("程序已退出\n");
                return 0;
            default:
                printf("无效的选择,请重新输入\n");
        }
    }
}

总结

通过以上代码,我们实现了一个简易的通讯录程序。这个程序具有添加联系人、查看所有联系人以及搜索联系人等功能。使用C语言的结构体和数组,我们构建了一个简单的数据结构来存储联系人信息,并通过函数实现了程序的不同功能。尽管这个通讯录是静态版本的,只在程序运行期间保留联系人信息,但它可以作为学习C语言的一个良好的入门示例。