用C语言完成通讯录管理系统的设计与实现的完整代码
时间: 2023-08-30 17:12:19 浏览: 104
[方案]C语言通讯录管理系统源代码.doc
以下是一个简单的通讯录管理系统的完整代码,仅供参考:
```c
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100
// 联系人结构体
struct contact {
char name[20];
char phone[20];
char email[40];
};
// 添加联系人
void add_contact(struct contact *list, int size) {
if (size >= MAX_SIZE) {
printf("通讯录已满,无法添加联系人!\n");
return;
}
printf("请输入联系人的姓名:");
scanf("%s", list[size].name);
printf("请输入联系人的电话号码:");
scanf("%s", list[size].phone);
printf("请输入联系人的电子邮件地址:");
scanf("%s", list[size].email);
printf("联系人添加成功!\n");
}
// 删除联系人
void delete_contact(struct contact *list, int size) {
if (size == 0) {
printf("通讯录为空,无法删除联系人!\n");
return;
}
printf("请输入要删除的联系人的姓名:");
char name[20];
scanf("%s", name);
int index = -1;
for (int i = 0; i < size; i++) {
if (strcmp(list[i].name, name) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("未找到联系人 %s!\n", name);
return;
}
for (int i = index; i < size - 1; i++) {
list[i] = list[i + 1];
}
printf("联系人 %s 删除成功!\n", name);
}
// 修改联系人信息
void modify_contact(struct contact *list, int size) {
if (size == 0) {
printf("通讯录为空,无法修改联系人信息!\n");
return;
}
printf("请输入要修改的联系人的姓名:");
char name[20];
scanf("%s", name);
int index = -1;
for (int i = 0; i < size; i++) {
if (strcmp(list[i].name, name) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("未找到联系人 %s!\n", name);
return;
}
printf("请输入联系人的电话号码:");
scanf("%s", list[index].phone);
printf("请输入联系人的电子邮件地址:");
scanf("%s", list[index].email);
printf("联系人 %s 修改成功!\n", name);
}
// 查找联系人
void search_contact(struct contact *list, int size) {
if (size == 0) {
printf("通讯录为空,无法查找联系人!\n");
return;
}
printf("请输入要查找的联系人的姓名:");
char name[20];
scanf("%s", name);
int index = -1;
for (int i = 0; i < size; i++) {
if (strcmp(list[i].name, name) == 0) {
index = i;
break;
}
}
if (index == -1) {
printf("未找到联系人 %s!\n", name);
return;
}
printf("姓名:%s\n", list[index].name);
printf("电话号码:%s\n", list[index].phone);
printf("电子邮件地址:%s\n", list[index].email);
}
int main() {
struct contact list[MAX_SIZE];
int size = 0;
while (1) {
printf("\n");
printf("通讯录管理系统\n");
printf("1. 添加联系人\n");
printf("2. 删除联系人\n");
printf("3. 修改联系人信息\n");
printf("4. 查找联系人\n");
printf("5. 退出程序\n");
printf("请选择操作:");
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
add_contact(list, size);
size++;
break;
case 2:
delete_contact(list, size);
size--;
break;
case 3:
modify_contact(list, size);
break;
case 4:
search_contact(list, size);
break;
case 5:
printf("程序已退出!\n");
return 0;
default:
printf("无效的操作!\n");
break;
}
}
return 0;
}
```
注意,这个代码仅仅是一个简单的示例,实际应用中还需要考虑更多的情况,例如输入检查、错误处理、界面美化等。
阅读全文