由于代码较长,我将为您提供一个简化版的C语言通讯录管理系统的和关键代码片段。您可以根据这些代码片段自行编写完整的程序。 1. 定义结构体存储联系人信息(姓名、电话号码、地址等) 2. 创建联系人数组存储多个联系人信息 3. 使用循环菜单实现添加、删除、修改、查找和显示联系人信息的功能 4. 使用文件读写功能实现联系人信息的持久化存储 关键代码片段: 1. 定义结构体: ```c typedef struct { char name[20]; char phone[20]; char address[50]; } Contact; ``` 2. 创建联系人数组: ```c #define MAX_CONTACTS 100 Contact contacts[MAX_CONTACTS]; int contact_count = 0; ``` 3. 添加联系人: ```c void add_contact() { if (contact_count >= MAX_CONTACTS) { printf("通讯录已满,无法添加新联系人。 "); return; } printf("请输入联系人姓名:"); scanf("%s", contacts[contact_count].name); printf("请输入联系人电话:"); scanf("%s", contacts[contact_count].phone); printf("请输入联系人地址:"); scanf("%s", contacts[contact_count].address); contact_count++; printf("联系人添加成功。 "); } ``` 4. 删除联系人: ```c void delete_contact() { char name[20]; printf("请输入要删除的联系人姓名:"); scanf("%s", name); for (int i = 0; i < contact_count; i++) { if (strcmp(contacts[i].name, name) == 0) { for (int j = i; j < contact_count - 1; j++) { contacts[j] = contacts[j + 1]; } contact_count--; printf("联系人删除成功。 "); return; } } printf("未找到该联系人。 "); } ``` 5. 修改联系人信息: ```c void modify_contact() { char name[20]; printf("请输入要修改的联系人姓名:"); scanf("%s", name); for (int i = 0; i < contact_count; i++) { if (strcmp(contacts[i].name, name) == 0) { printf("请输入新的联系人电话:"); scanf("%s", contacts[i].phone); printf("请输入新的联系人地址:"); scanf("%s", contacts[i].address); printf("联系人信息修改成功。 "); return; } } printf("未找到该联系人。 "); } ``` 6. 查找联系人: ```c void search_contact() { char name[20]; printf("请输入要查找的联系人姓名:"); scanf("%s", name); for (int i = 0; i < contact_count; i++) { if (strcmp(contacts[i].name, name) == 0) { printf("联系人信息如下: "); printf("姓名:%s ", contacts[i].name); printf("电话:%s ", contacts[i].phone); printf("地址:%s ", contacts[i].address); return; } } printf("未找到该联系人。 "); } ``` 7. 显示所有联系人: ```c void display_contacts() { for (int i = 0; i < contact_count; i++) { printf("联系人信息如下: "); printf("姓名:%s ", contacts[i].name); printf("电话:%s ", contacts[i].phone); printf("地址:%s ", contacts[i].address); } } ``` 8. 主函数: ```c int main() { int choice; while (1) { printf(" 通讯录管理系统 "); printf("1. 添加联系人 "); printf("2. 删除联系人 "); printf("3. 修改联系人信息 "); printf("4. 查找联系人 "); printf("5. 显示所有联系人 "); printf("6. 退出系统 "); printf("请输入您的选择:"); scanf("%d", &choice); switch (choice) { case 1: add_contact(); break; case 2: delete_contact(); break; case 3: modify_contact(); break; case 4: search_contact(); break; case 5: display_contacts(); break; case 6: exit(0); default: printf("无效的选择,请重新输入。 "); } } return 0; } ``` 这个简化版的程序没有实现文件读写功能,您可以根据需要自行添加。 [2024-06-15 21:25:12 | AI写代码神器 | 1257点数解答]