在C语言学习的旅途中,设计并实现一个实用的通讯录程序无疑是一个既有趣又富有教育意义的项目。本篇博客将带领大家一步步构建一个简单的通讯录系统,涵盖基本的增删改查功能,旨在加深对C语言数据结构、文件操作、函数设计等概念的理解。
1. 程序设计思路
首先,我们需要设计通讯录的结构体,用于存储联系人信息,包括姓名、电话号码、邮箱等。接下来,通过定义一系列函数来实现对通讯录的操作,如添加新联系人、删除已有联系人、查找特定联系人以及修改联系人信息。此外,考虑将通讯录数据持久化存储到文件中,使得关闭程序后数据仍能保存。
2. 数据结构设计
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LENGTH 50
#define MAX_PHONE_LENGTH 15
#define MAX_EMAIL_LENGTH 50
typedef struct {
char name[MAX_NAME_LENGTH];
char phone[MAX_PHONE_LENGTH];
char email[MAX_EMAIL_LENGTH];
} Contact;
typedef struct {
Contact contacts[100]; // 假设最多存储100个联系人
int size; // 当前已存储的联系人数
} AddressBook;
3. 函数实现
- 初始化通讯录
void initAddressBook(AddressBook *book) {
book->size = 0;
}
- 添加联系人
void addContact(AddressBook *book, const char *name, const char *phone, const char *email) {
if (book->size >= 100) {
printf("通讯录已满