编写一款简单的通讯录
时间: 2024-09-13 22:09:05 浏览: 36
C语言实现一个简易通讯录
编写一个简单的通讯录程序通常涉及创建数据结构来存储联系人信息(如姓名、电话号码或电子邮件地址),以及提供接口让用户添加、删除和查找这些联系人。这里我会为你概述一个基本的设计和实现步骤:
**1. 数据结构设计**:
使用数组或者链表来存储联系人信息。你可以选择用结构体(struct)定义每个联系人的属性,例如:
```c
typedef struct {
char name[50];
char phone[20];
char email[50];
} Contact;
```
**2. 功能实现**:
- **添加联系人**:创建一个函数`add_contact()`,接收新的联系人信息并插入到数据结构中。
- **删除联系人**:创建一个函数`delete_contact()`,根据名称或其他标识符找到并移除某个联系人。
- **查找联系人**:创建一个函数`find_contact()`,接受查询条件,返回匹配的联系人信息。
- **显示所有联系人**:创建一个函数`display_contacts()`,遍历整个列表并打印所有联系人。
**3. 用户界面**:
为了使程序更友好,你可以考虑使用命令行交互或者简单图形用户界面(GUI)。这可能涉及到获取用户输入,处理输入并调用相应的功能。
**示例代码**(简化版):
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 假设我们使用动态内存分配数组来存储联系人
#define MAX_CONTACTS 10
Contact contacts[MAX_CONTACTS];
void add_contact(char* name, char* phone, char* email) {
if (contacts_count < MAX_CONTACTS) {
// 添加新联系人
} else {
printf("已达最大容量,请删除一个再添加.\n");
}
}
void delete_contact(char* name) {
for (int i = 0; i < contacts_count; ++i) {
if (strcmp(contacts[i].name, name) == 0) {
// 移除第i个联系人
memmove(&contacts[i], &contacts[i+1], sizeof(Contact)*(contacts_count-i-1));
contacts_count--;
return;
}
}
printf("未找到该联系人.\n");
}
// 其他功能的实现类似
int main() {
int choice;
while (true) {
// 显示菜单选项
// 获取用户输入并对应调用相应函数
}
return 0;
}
```
阅读全文