当前位置:首页 > 行业动态 > 正文

怎么用c语言写通讯录

通讯录程序可以分为以下几个部分:

1、定义数据结构

2、初始化通讯录

3、添加联系人

4、删除联系人

5、查找联系人

6、显示所有联系人

7、保存和读取通讯录

8、主函数

下面是一个简单的C语言实现通讯录的程序:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义数据结构
typedef struct {
    char name[50];
    char phone[20];
} Contact;
// 初始化通讯录
void init_contacts(Contact *contacts, int size) {
    for (int i = 0; i < size; i++) {
        strcpy(contacts[i].name, "");
        strcpy(contacts[i].phone, "");
    }
}
// 添加联系人
void add_contact(Contact *contacts, int *size, const char *name, const char *phone) {
    if (*size >= 100) {
        printf("通讯录已满,无法添加更多联系人。
");
        return;
    }
    strcpy(contacts[*size].name, name);
    strcpy(contacts[*size].phone, phone);
    (*size)++;
}
// 删除联系人
void delete_contact(Contact *contacts, int *size, const char *name) {
    for (int i = 0; i < *size; i++) {
        if (strcmp(contacts[i].name, name) == 0) {
            for (int j = i; j < *size 1; j++) {
                contacts[j] = contacts[j + 1];
            }
            (*size);
            return;
        }
    }
    printf("未找到联系人:%s
", name);
}
// 查找联系人
void find_contact(const Contact *contacts, int size, const char *name) {
    for (int i = 0; i < size; i++) {
        if (strcmp(contacts[i].name, name) == 0) {
            printf("姓名:%s,电话:%s
", contacts[i].name, contacts[i].phone);
            return;
        }
    }
    printf("未找到联系人:%s
", name);
}
// 显示所有联系人
void display_contacts(const Contact *contacts, int size) {
    printf("姓名t电话
");
    for (int i = 0; i < size; i++) {
        printf("%st%s
", contacts[i].name, contacts[i].phone);
    }
}
// 保存和读取通讯录(这里仅作示例,实际应用中可以使用文件操作)
void save_contacts(const Contact *contacts, int size) {
    printf("保存通讯录...
");
}
void load_contacts(Contact *contacts, int *size) {
    printf("加载通讯录...
");
}
int main() {
    Contact contacts[100];
    int size = 0;
    init_contacts(contacts, size);
    add_contact(contacts, &size, "张三", "123456789");
    add_contact(contacts, &size, "李四", "987654321");
    add_contact(contacts, &size, "王五", "135792468");
    display_contacts(contacts, size);
    find_contact(contacts, size, "李四");
    delete_contact(contacts, &size, "张三");
    display_contacts(contacts, size);
    save_contacts(contacts, size);
    load_contacts(contacts, &size);
    return 0;
}

这个程序实现了一个简单的通讯录,可以添加、删除、查找和显示联系人,注意,这里的保存和读取功能仅作示例,实际应用中可以使用文件操作来保存和读取通讯录。

0