150行C语言代码打造超实用通讯录管理系统!含关键代码与功能解析
由于代码较长,我将为您提供一个简化版的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; } ``` 这个简化版的程序没有实现文件读写功能,您可以根据需要自行添加。 ######[AI写代码神器 | 1257点数解答 | 2024-06-15 21:25:12]
- Python 实现简易密码设置系统:多种功能交互与安全要点揭秘(字节豆包 | 286点数解答 | 2025-03-28 10:43:21)381
- C语言实现多功能密码设置系统:含代码及安全注意要点(字节豆包 | 414点数解答 | 2025-03-28 10:43:55)367
- C 语言实现:超简单密码设置系统,含代码与注意要点!(字节豆包 | 519点数解答 | 2025-03-28 12:42:02)404
- C语言实现密码管理系统:含功能代码与安全注意事项(字节豆包 | 409点数解答 | 2025-04-05 18:09:56)352
- C语言实现多功能密码系统:初始化、确认、设置、显示、重置与退出(字节豆包 | 454点数解答 | 2025-04-05 18:48:42)353
- C语言实现密码管理系统:含初始化、确认、设置、显示、重置及退出功能(字节豆包 | 413点数解答 | 2025-04-06 15:37:16)299
- C 语言实现密码管理系统:含初始化、确认、设置、显示、重置及退出功能(字节豆包 | 403点数解答 | 2025-04-06 15:37:54)311
- 工程师必备!10 种工程日常易用管理工具大揭秘(百度文心 | 346点数解答 | 2023-11-09 18:26:09)305
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)302
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)323
- 深度剖析:黑盒、白盒、单元、集成、系统与验收测试的区别与联系 (百度文心 | 424点数解答 | 2023-11-09 18:24:11)314
- Spring Boot 打造 MallShop 购物商城:多角色权限、全业务功能的 Web 应用奇迹 (GPT | 1095点数解答 | 2024-12-09 14:06:47)383