首先,定义联系人结构体。

#include <stdio.h>
#include <string.h>
#define MAX_CONTACTS 100 // 最大联系人数量
#define NAME_LENGTH 50 // 姓名最大长度
#define PHONE_LENGTH 20 // 电话号码最大长度
typedef struct {
char name[NAME_LENGTH];
char phone[PHONE_LENGTH];
} Contact;实现电话簿的功能:
Contact contacts[MAX_CONTACTS]; // 存储联系人的数组
int currentContacts = 0; // 当前联系人数量
void addContact() {
if (currentContacts >= MAX_CONTACTS) {
printf("电话簿已满,无法添加更多联系人,
");
return;
}
Contact newContact;
printf("请输入联系人姓名:");
scanf("%s", newContact.name);
printf("请输入联系人电话:");
scanf("%s", newContact.phone);
contacts[currentContacts++] = newContact;
printf("联系人已添加,
");
}
void findContact() {
char searchName[NAME_LENGTH];
printf("请输入要查找的联系人姓名:");
scanf("%s", searchName);
for (int i = 0; i < currentContacts; i++) {
if (strcmp(contacts[i].name, searchName) == 0) {
printf("找到联系人:姓名 - %s,电话 - %s
", contacts[i].name, contacts[i].phone);
return;
}
}
printf("未找到联系人,
");
}
void displayContacts() {
printf("电话簿中的联系人:
");
for (int i = 0; i < currentContacts; i++) {
printf("姓名 - %s,电话 - %s
", contacts[i].name, contacts[i].phone);
}
}创建一个主函数来驱动这个程序:

int main() {
int choice;
while (1) {
printf("
电话簿程序:
");
printf("1. 添加联系人
");
printf("2. 查找联系人
");
printf("3. 显示所有联系人
");
printf("4. 退出程序
");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1: addContact(); break;
case 2: findContact(); break;
case 3: displayContacts(); break;
case 4: printf("程序已退出,
"); return 0; // 退出程序
default: printf("无效的选择,请重新选择,
"); break; // 如果输入无效选项,给出提示并重新选择操作,这里可以添加更多的错误处理代码,如果输入的数字大于或等于最大选项数,可以提示用户输入无效并重新选择操作,如果输入的联系人信息格式不正确(例如电话号码包含非数字字符),也可以进行相应的错误处理,这些都需要根据实际需求进行实现。); break; } } return 0; } c `````c````python````javascript````typescript````r````java````go````lua````swift````php````rust````csharp````sql````shell````markdown````其他语言```这是一个简单的电话簿程序设计示例,使用C语言实现,它允许用户添加、查找和显示联系人信息,您可以根据需要扩展和修改这个程序,这个程序没有考虑错误处理和边界情况的处理,例如输入格式不正确或超出最大联系人数量等,在实际应用中,您应该考虑这些情况并进行相应的处理,这个程序也没有使用数据库或文件来存储联系人信息,所有数据都存储在内存中,如果您需要长期保存联系人信息,可以考虑使用数据库或文件存储数据。
TIME
