写个通讯录系统的c语言代码
时间: 2023-12-25 16:58:58 浏览: 26
以下是一个简单的通讯录系统的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_CONTACTS 100 // 最大联系人数
struct Contact {
char name[30];
char phone[20];
};
struct Contact contacts[MAX_CONTACTS]; // 联系人数组
int num_contacts = 0; // 当前联系人数
void add_contact() {
if (num_contacts >= MAX_CONTACTS) {
printf("通讯录已满,无法添加联系人。\n");
return;
}
struct Contact new_contact;
printf("请输入联系人姓名:");
scanf("%s", new_contact.name);
printf("请输入联系人电话号码:");
scanf("%s", new_contact.phone);
contacts[num_contacts++] = new_contact;
printf("联系人 %s 已添加成功。\n", new_contact.name);
}
void search_contact() {
char name[30];
printf("请输入要查找的联系人姓名:");
scanf("%s", name);
for (int i = 0; i < num_contacts; i++) {
if (strcmp(contacts[i].name, name) == 0) {
printf("联系人 %s 的电话号码为 %s。\n", name, contacts[i].phone);
return;
}
}
printf("没有找到联系人 %s。\n", name);
}
void list_contacts() {
printf("当前通讯录中的联系人:\n");
for (int i = 0; i < num_contacts; i++) {
printf("%d. %s\t%s\n", i+1, contacts[i].name, contacts[i].phone);
}
}
int main() {
while (1) {
printf("请选择操作:\n");
printf("1. 添加联系人\n");
printf("2. 查找联系人\n");
printf("3. 列出所有联系人\n");
printf("4. 退出\n");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
add_contact();
break;
case 2:
search_contact();
break;
case 3:
list_contacts();
break;
case 4:
printf("再见!\n");
exit(0);
default:
printf("无效的选择,请重新选择。\n");
break;
}
}
return 0;
}
```
该程序使用一个结构体数组来存储联系人的姓名和电话号码,并提供添加联系人、查找联系人和列出所有联系人的功能。用户可以根据菜单进行选择操作。