用c语言制作一个通讯录
时间: 2024-10-09 16:11:24 浏览: 27
在C语言中创建一个简单的通讯录程序,我们可以使用结构体来存储联系人信息,并提供添加、删除和查找功能。以下是一个基础的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义一个联系人结构体
typedef struct {
char name[50];
char phone[20];
} Contact;
// 用于保存联系人的数组
Contact* contacts;
int contact_count = 0;
// 添加联系人
void add_contact(char* name, char* phone) {
if (contact_count >= 10) {
printf("通讯录已满,无法添加更多联系人。\n");
return;
}
Contact new_contact = {name, phone};
contacts[contact_count++] = new_contact;
}
// 删除联系人
void delete_contact(int index) {
if (index < 0 || index >= contact_count) {
printf("无效索引。\n");
return;
}
memmove(&contacts[index], &contacts[index+1], sizeof(Contact)*(contact_count - index - 1));
contact_count--;
}
// 查找联系人
Contact* find_contact(char* name) {
for (int i = 0; i < contact_count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
return &contacts[i];
}
}
return NULL;
}
int main() {
// 初始化通讯录
contacts = malloc(sizeof(Contact)*10); // 预先分配10个位置
// 示例操作
add_contact("张三", "13812345678");
add_contact("李四", "13909876543");
Contact* found_contact = find_contact("张三");
if (found_contact) {
printf("找到联系人:%s, %s\n", found_contact->name, found_contact->phone);
} else {
printf("未找到该联系人。\n");
}
delete_contact(0); // 删除第一个联系人
free(contacts);
return 0;
}
阅读全文