c
#include <stdio.h>
#include <string.h>
#define MAX_CONTACTS 100 // 最大联系人数量
#define MAX_NAME_LENGTH 50 // 联系人姓名最大长度
#define MAX_NUMBER_LENGTH 20 // 联系人电话号码最大长度
struct Contact {
char name[MAX_NAME_LENGTH]; // 姓名
char number[MAX_NUMBER_LENGTH]; // 电话号码
};
struct Contact contacts[MAX_CONTACTS]; // 存储联系人信息的数组
int contactCount = 0; // 当前联系人数量
void addContact() {
if (contactCount >= MAX_CONTACTS) {
printf("电话簿已满,无法添加更多联系人,n");
return;
}

printf("请输入联系人姓名:");
scanf("%s", contacts[contactCount].name);
printf("请输入联系人电话号码:");
scanf("%s", contacts[contactCount].number);
contactCount++; // 增加联系人数量
void findContact() {
char searchName[MAX_NAME_LENGTH];
printf("请输入要查找的联系人姓名:");
scanf("%s", searchName);
for (int i = 0; i < contactCount; i++) {
if (strcmp(contacts[i].name, searchName) == 0) { // 如果找到匹配的联系人
printf("找到联系人:%s,电话号码为:%sn", contacts[i].name, contacts[i].number);
return;
}
}
printf("未找到联系人,n");
void displayContacts() {
printf("电话簿中的联系人信息:n");
for (int i = 0; i < contactCount; i++) {
printf("%d. 姓名:%s,电话号码:%sn", i + 1, contacts[i].name, contacts[i].number);
}
int main() {
int choice; // 用户选择的操作(添加、查找或显示)
while (1) { // 主循环,直到用户选择退出程序
printf("请选择要执行的操作:n");
printf("1. 添加联系人n");
printf("2. 查找联系人n");
printf("3. 显示所有联系人信息n");
printf("4. 退出程序n");
scanf("%d", &choice); // 获取用户选择的操作
switch (choice) { // 根据用户选择执行相应的操作
case 1: addContact(); break; // 添加联系人信息到电话簿中
case 2: findContact(); break; // 在电话簿中查找联系人信息并显示结果
case 3: displayContacts(); break; // 显示电话簿中的所有联系人信息列表(按序排列)并退出程序循环,程序将结束运行,请确保在退出前保存所有重要数据或关闭所有打开的资源,如果程序正在使用文件或数据库,确保在退出前关闭它们以防止数据丢失或损坏,如果程序需要与用户交互或处理输入数据,确保在退出前清理这些数据并恢复程序的初始状态,不要忘记释放任何分配的内存或关闭任何打开的资源,以确保程序的正常退出并避免潜在的系统问题。










