C语言写通讯录管理系统
时间: 2023-11-11 20:07:02 浏览: 36
下面是一个简单的通讯录管理系统的 C 语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_CONTACTS 100 // 最大联系人数量
// 联系人结构体
typedef struct {
char name[20];
char phone[11];
} Contact;
Contact contacts[MAX_CONTACTS]; // 联系人数组
int num_contacts = 0; // 当前联系人数量
void add_contact() {
if (num_contacts >= MAX_CONTACTS) {
printf("通讯录已满,无法添加新联系人。\n");
return;
}
Contact new_contact;
printf("请输入联系人姓名:\n");
scanf("%s", new_contact.name);
printf("请输入联系人电话号码:\n");
scanf("%s", new_contact.phone);
contacts[num_contacts++] = new_contact;
printf("联系人添加成功。\n");
}
void list_contacts() {
if (num_contacts == 0) {
printf("通讯录为空。\n");
return;
}
printf("联系人列表:\n");
for (int i = 0; i < num_contacts; i++) {
printf("%d. %s\t%s\n", i+1, contacts[i].name, contacts[i].phone);
}
}
void search_contact() {
char name[20];
printf("请输入要查找的联系人姓名:\n");
scanf("%s", name);
for (int i = 0; i < num_contacts; i++) {
if (strcmp(name, contacts[i].name) == 0) {
printf("联系人 \"%s\" 的电话号码是:%s\n", name, contacts[i].phone);
return;
}
}
printf("找不到联系人 \"%s\"。\n", name);
}
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:
list_contacts();
break;
case 3:
search_contact();
break;
case 4:
printf("程序已退出。\n");
return 0;
default:
printf("无效的操作,请重新输入。\n");
}
}
}
```
这个程序包括添加联系人、列出所有联系人和查找联系人三个操作。联系人信息保存在一个 Contact 结构体数组中,最多可以保存 100 个联系人。你可以根据自己的需求进行修改和扩展。