设计一个电话簿程序可以使用C语言来完成。以下是一个简单的电话簿程序的基本框架和代码示例。这个程序允许用户添加、查找和显示联系人信息。请注意,这是一个非常基础的实现,你可以根据需要添加更多的功能和优化。

#include <stdio.h>
#include <string.h>
#define MAX_CONTACTS 100 // 最大联系人数量
#define NAME_LENGTH 50 // 姓名最大长度
#define PHONE_NUMBER_LENGTH 20 // 电话号码最大长度
typedef struct {
char name[NAME_LENGTH];
char phoneNumber[PHONE_NUMBER_LENGTH];
} Contact;然后我们可以定义一些函数来处理添加、查找和显示联系人信息:
void addContact(Contact contacts[], int *numContacts) {
Contact newContact;
printf("请输入联系人的姓名: ");
scanf("%s", newContact.name);
printf("请输入联系人的电话号码: ");
scanf("%s", newContact.phoneNumber);
contacts[*numContacts] = newContact;
(*numContacts)++;
}
void findContact(Contact contacts[], int numContacts, char *name) {
for(int i = 0; i < numContacts; i++) {
if (strcmp(contacts[i].name, name) == 0) { // 使用strcmp函数比较字符串是否相同
printf("找到联系人: 姓名: %s, 电话号码: %sn", contacts[i].name, contacts[i].phoneNumber);
return; // 找到后直接返回,不再继续查找其他联系人
}
}
printf("未找到联系人,n"); // 如果循环结束还没有找到联系人,则输出提示信息
}
void displayContacts(Contact contacts[], int numContacts) {
for(int i = 0; i < numContacts; i++) {
printf("联系人 %d: 姓名: %s, 电话号码: %sn", i+1, contacts[i].name, contacts[i].phoneNumber);
}
}我们可以编写主函数来调用这些函数:

int main() {
Contact contacts[MAX_CONTACTS]; // 创建联系人数组来存储所有联系人信息
int numContacts = 0; // 当前联系人数量(初始化为0)
char choice; // 用户的选择(用于循环)
char nameToFind[NAME_LENGTH]; // 用于存储用户想要查找的联系人姓名
int found = 0; // 用于标记是否找到了联系人(用于循环)
while (1) { // 主循环,用户可以选择退出程序(通过输入’q’)来结束循环,注意这只是一个简单的示例,你可以根据需要添加更多的功能和优化,例如使用菜单等。
printf("n电话簿程序:n");
printf("a. 添加联系人n"); // 添加联系人的选项(输入 ’a’)来调用addContact函数,注意这只是一个简单的示例,你可以根据需要添加更多的功能和优化,例如使用菜单等,你也可以添加错误处理代码来处理输入错误的情况等,例如检查输入的联系人数量是否超过最大限制等。"); printf("请输入您的选择: "); scanf(" %c", &choice); switch (choice) { case ’a’: addContact(contacts, &numContacts); break; case ’f’: printf("请输入要查找的联系人姓名: "); scanf("%s", nameToFind); while (!found) { findContact(contacts, numContacts, nameToFind); if (found) break; printf("没有找到该联系人,请重新输入姓名查找或退出程序,n"); } break; case ’d’: displayContacts(contacts, numContacts); break; case ’q’: printf("退出程序,n"); return 0; default: printf("无效的选项,请重新输入,n"); } } return 0; } ``` 这个程序只是一个简单的电话簿程序示例,你可以根据需要添加更多的功能和优化,你可以添加删除联系人、修改联系人信息、保存联系人信息到文件等功能,你还可以使用菜单来让用户更容易地选择他们想要执行的操作等。




