【C语言通讯录管理系统程序代码】在日常生活中,人们经常需要管理大量的联系人信息,如朋友、同事、客户等。为了提高效率和方便管理,使用一个简单的通讯录管理系统是很有必要的。本文将介绍一个基于C语言开发的通讯录管理系统程序代码,帮助用户实现对联系人信息的添加、删除、查找、修改以及显示等功能。
一、系统功能概述
本通讯录管理系统主要具备以下功能:
1. 添加联系人:可以输入姓名、电话号码、地址等信息,并将其保存到系统中。
2. 删除联系人:根据姓名或电话号码删除指定的联系人信息。
3. 查找联系人:支持按姓名或电话进行快速查询。
4. 修改联系人信息:允许用户对已有的联系人信息进行编辑。
5. 显示所有联系人:可以查看当前存储的所有联系人信息。
6. 退出系统:结束程序运行。
二、数据结构设计
为了存储联系人信息,我们采用结构体来定义每个联系人的数据格式:
```c
typedef struct {
char name[50];// 姓名
char phone[20]; // 电话号码
char address[100];// 地址
} Contact;
```
然后,使用数组来保存多个联系人:
```c
Contact contacts[100];// 最多保存100个联系人
int count = 0;// 当前已保存的联系人数量
```
三、主菜单界面
程序运行后,首先会显示一个主菜单,用户可以通过输入数字选择对应的功能:
```c
void showMenu() {
printf("\n========== 通讯录管理系统 ==========\n");
printf("1. 添加联系人\n");
printf("2. 删除联系人\n");
printf("3. 查找联系人\n");
printf("4. 修改联系人\n");
printf("5. 显示所有联系人\n");
printf("6. 退出系统\n");
printf("请选择操作:");
}
```
四、核心功能实现
1. 添加联系人
```c
void addContact() {
if (count >= 100) {
printf("通讯录已满,无法继续添加!\n");
return;
}
printf("请输入姓名:");
scanf("%s", contacts[count].name);
printf("请输入电话号码:");
scanf("%s", contacts[count].phone);
printf("请输入地址:");
scanf("%s", contacts[count].address);
count++;
printf("联系人添加成功!\n");
}
```
2. 删除联系人
```c
void deleteContact() {
char name[50];
printf("请输入要删除的姓名:");
scanf("%s", name);
for (int i = 0; i < count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
for (int j = i; j < count - 1; j++) {
contacts[j] = contacts[j + 1];
}
count--;
printf("联系人删除成功!\n");
return;
}
}
printf("未找到该联系人!\n");
}
```
3. 查找联系人
```c
void searchContact() {
char name[50];
printf("请输入要查找的姓名:");
scanf("%s", name);
for (int i = 0; i < count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
printf("姓名:%s\n", contacts[i].name);
printf("电话:%s\n", contacts[i].phone);
printf("地址:%s\n", contacts[i].address);
return;
}
}
printf("未找到该联系人!\n");
}
```
4. 修改联系人
```c
void editContact() {
char name[50];
printf("请输入要修改的姓名:");
scanf("%s", name);
for (int i = 0; i < count; i++) {
if (strcmp(contacts[i].name, name) == 0) {
printf("请输入新姓名:");
scanf("%s", contacts[i].name);
printf("请输入新电话号码:");
scanf("%s", contacts[i].phone);
printf("请输入新地址:");
scanf("%s", contacts[i].address);
printf("联系人信息修改成功!\n");
return;
}
}
printf("未找到该联系人!\n");
}
```
5. 显示所有联系人
```c
void displayContacts() {
if (count == 0) {
printf("当前通讯录为空!\n");
return;
}
for (int i = 0; i < count; i++) {
printf("姓名:%s\n", contacts[i].name);
printf("电话:%s\n", contacts[i].phone);
printf("地址:%s\n", contacts[i].address);
printf("--------------------------\n");
}
}
```
五、主函数逻辑
```c
int main() {
int choice;
while (1) {
showMenu();
scanf("%d", &choice);
switch (choice) {
case 1:
addContact();
break;
case 2:
deleteContact();
break;
case 3:
searchContact();
break;
case 4:
editContact();
break;
case 5:
displayContacts();
break;
case 6:
printf("退出系统,感谢使用!\n");
return 0;
default:
printf("无效选项,请重新输入!\n");
}
}
return 0;
}
```
六、总结
以上就是一个基于C语言实现的简单通讯录管理系统程序代码。虽然功能相对基础,但能够满足日常管理联系人信息的基本需求。对于初学者来说,这是一个很好的实践项目,可以帮助理解结构体、数组、文件操作以及基本的控制流程等C语言知识。
如果你希望进一步扩展这个程序,可以考虑加入文件读写功能,实现数据的持久化存储;或者增加图形界面,提升用户体验。