C语言实现通讯录管理系统
更新时间:2023-08-09前言
通讯录管理系统是一种用于存储和管理联系人信息的应用程序。使用C语言进行开发通讯录管理系统,可以实现对联系人信息的添加、删除、修改和查询等功能。本文将展示如何设计和编写代码,同时解析代码的用途和规范。
代码实现
首先,我们需要定义一个结构体来表示联系人的信息,包括姓名、电话号码和电子邮件。定义如下:
struct Contact { char name[50]; char phone[20]; char email[50]; };
接下来,我们可以使用动态内存分配来创建一个可以存储多个联系人的数组,并提供相应的功能函数来实现通讯录管理系统的操作。
1. 添加联系人功能:
void addContact(struct Contact *contacts, int *count) { // 检查通讯录是否已满 if (*count >= MAX_CONTACTS) { printf("通讯录已满,无法添加新联系人。\n"); return; } // 输入联系人信息 printf("请输入联系人姓名:"); scanf("%s", contacts[*count].name); printf("请输入联系人电话号码:"); scanf("%s", contacts[*count].phone); printf("请输入联系人电子邮件:"); scanf("%s", contacts[*count].email); *count += 1; // 通讯录联系人数量加一 }
2. 删除联系人功能:
void deleteContact(struct Contact *contacts, int *count, char *name) { int position = -1; // 查找联系人位置 for (int i = 0; i < *count; i++) { if (strcmp(contacts[i].name, name) == 0) { position = i; break; } } // 如果找到联系人,则删除 if (position != -1) { for (int i = position; i < *count - 1; i++) { contacts[i] = contacts[i + 1]; } *count -= 1; // 通讯录联系人数量减一 printf("成功删除联系人。\n"); } else { printf("未找到该联系人。\n"); } }
3. 修改联系人功能:
void editContact(struct Contact *contacts, int count, char *name) { int position = -1; // 查找联系人位置 for (int i = 0; i < count; i++) { if (strcmp(contacts[i].name, name) == 0) { position = i; break; } } // 如果找到联系人,则修改 if (position != -1) { printf("请输入新的电话号码:"); scanf("%s", contacts[position].phone); printf("请输入新的电子邮件:"); scanf("%s", contacts[position].email); printf("成功修改联系人。\n"); } else { printf("未找到该联系人。\n"); } }
4. 查询联系人功能:
void searchContact(struct Contact *contacts, int count, char *name) { int position = -1; // 查找联系人位置 for (int i = 0; i < count; i++) { if (strcmp(contacts[i].name, name) == 0) { position = i; break; } } // 如果找到联系人,则输出相关信息 if (position != -1) { printf("姓名:%s\n", contacts[position].name); printf("电话号码:%s\n", contacts[position].phone); printf("电子邮件:%s\n", contacts[position].email); } else { printf("未找到该联系人。\n"); } }
代码解析
上述代码通过结构体来表示联系人的信息,使用动态内存分配来创建一个存储联系人的数组。分别实现了添加、删除、修改和查询联系人信息的功能函数。
添加联系人功能首先判断通讯录是否已满,若未满则通过用户输入来添加新联系人信息,同时更新通讯录联系人数量。
删除联系人功能先查找联系人位置,如果找到则通过移动数组中的元素实现删除操作,同时更新通讯录联系人数量;反之报错未找到该联系人。
修改联系人功能也是先查找联系人位置,如果找到则通过用户输入来修改电话号码和电子邮件,同时报告成功修改;反之报错未找到该联系人。
查询联系人功能同样先查找联系人位置,如果找到则输出该联系人的姓名、电话号码和电子邮件;反之报错未找到该联系人。
总结
通过以上代码的实现,我们成功创建了一个C语言的通讯录管理系统。这个系统可以让用户添加、删除、修改和查询联系人信息,并有相应的错误提示功能。通过结构体和动态内存分配,我们可以灵活地管理联系人信息,使通讯录能够存储大量的联系人。