通讯录管理程序 C语言代码
时间: 2024-12-25 09:21:23 浏览: 19
在C语言中编写一个简单的通讯录管理程序,可以包含添加、删除、查找和显示联系人等功能。下面是一个基本的示例代码,假设我们创建一个结构体`Contact`来存储联系人的信息:
```c
#include <stdio.h>
#include <string.h>
// 定义联系人结构体
struct Contact {
char name[50];
char phone[20];
};
// 定义全局联系人数组和计数器
struct Contact contacts[100];
int count = 0;
// 添加新联系人
void addContact() {
if (count < sizeof(contacts)) {
printf("请输入联系人姓名: ");
fgets(contacts[count].name, sizeof(contacts[count].name), stdin);
printf("请输入电话号码: ");
fgets(contacts[count].phone, sizeof(contacts[count].phone), stdin);
count++;
} else {
printf("通讯录已满!\n");
}
}
// 删除联系人
void deleteContact(char* name) {
for (int i = 0; i < count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
memmove(&contacts[i], &contacts[i + 1], (count - i - 1) * sizeof(struct Contact));
count--;
return;
}
}
printf("未找到该联系人!\n");
}
// 查找联系人
void searchContact(char* name) {
for (int i = 0; i < count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
printf("姓名: %s, 电话: %s\n", contacts[i].name, contacts[i].phone);
break;
}
}
if (i == count) {
printf("未找到该联系人!\n");
}
}
// 显示所有联系人
void displayContacts() {
printf("\n通讯录内容:\n");
for (int i = 0; i < count; i++) {
printf("姓名: %s, 电话: %s\n", contacts[i].name, contacts[i].phone);
}
}
int main() {
while (true) {
printf("\n选择操作:\n1. 添加联系人\n2. 删除联系人\n3. 搜索联系人\n4. 显示全部\n5. 退出\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
addContact();
break;
case 2:
char name[50];
printf("请输入要删除的联系人名字: ");
fgets(name, sizeof(name), stdin);
deleteContact(name);
break;
case 3:
char searchName[50];
printf("搜索名字: ");
fgets(searchName, sizeof(searchName), stdin);
searchContact(searchName);
break;
case 4:
displayContacts();
break;
case 5:
exit(0);
default:
printf("无效选择,请重试。\n");
}
}
return 0;
}
```
这个例子只是一个基础版本,实际应用可能需要更多的错误处理和数据验证。如果你想要更复杂的功能,比如保存和读取文件来持久化存储联系人列表,那将涉及文件I/O操作。
阅读全文