通讯录管理系统c语言
时间: 2023-07-03 19:09:21 浏览: 44
通讯录管理系统是一个非常典型的小型管理系统,可以用C语言来实现。主要功能包括添加联系人、删除联系人、修改联系人、查询联系人和显示所有联系人等。以下是一个简单的通讯录管理系统的C语言代码示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CONTACTS 100 // 最大联系人数
struct Contact {
char name[50];
char phone[20];
};
struct Contact contacts[MAX_CONTACTS]; // 联系人数组
int numContacts = 0; // 联系人数量
// 添加联系人
void addContact() {
if (numContacts == MAX_CONTACTS) {
printf("通讯录已满,无法添加新联系人!\n");
return;
}
struct Contact c;
printf("请输入联系人姓名:");
scanf("%s", c.name);
printf("请输入联系人电话:");
scanf("%s", c.phone);
contacts[numContacts] = c;
numContacts++;
printf("联系人添加成功!\n");
}
// 删除联系人
void deleteContact() {
if (numContacts == 0) {
printf("通讯录为空,无法删除联系人!\n");
return;
}
char name[50];
printf("请输入要删除的联系人姓名:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < numContacts; i++) {
if (strcmp(contacts[i].name, name) == 0) {
found = 1;
for (int j = i; j < numContacts - 1; j++) {
contacts[j] = contacts[j + 1];
}
numContacts--;
printf("联系人删除成功!\n");
break;
}
}
if (!found) {
printf("未找到该联系人!\n");
}
}
// 修改联系人
void modifyContact() {
if (numContacts == 0) {
printf("通讯录为空,无法修改联系人!\n");
return;
}
char name[50];
printf("请输入要修改的联系人姓名:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < numContacts; i++) {
if (strcmp(contacts[i].name, name) == 0) {
found = 1;
printf("请输入新的联系人电话:");
scanf("%s", contacts[i].phone);
printf("联系人修改成功!\n");
break;
}
}
if (!found) {
printf("未找到该联系人!\n");
}
}
// 查询联系人
void searchContact() {
if (numContacts == 0) {
printf("通讯录为空,无法查询联系人!\n");
return;
}
char name[50];
printf("请输入要查询的联系人姓名:");
scanf("%s", name);
int found = 0;
for (int i = 0; i < numContacts; i++) {
if (strcmp(contacts[i].name, name) == 0) {
found = 1;
printf("%s\t%s\n", contacts[i].name, contacts[i].phone);
break;
}
}
if (!found) {
printf("未找到该联系人!\n");
}
}
// 显示所有联系人
void displayContacts() {
if (numContacts == 0) {
printf("通讯录为空!\n");
return;
}
printf("姓名\t电话\n");
for (int i = 0; i < numContacts; i++) {
printf("%s\t%s\n", contacts[i].name, contacts[i].phone);
}
}
int main() {
int choice;
while (1) {
printf("\n");
printf("1. 添加联系人\n");
printf("2. 删除联系人\n");
printf("3. 修改联系人\n");
printf("4. 查询联系人\n");
printf("5. 显示所有联系人\n");
printf("0. 退出程序\n");
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
addContact();
break;
case 2:
deleteContact();
break;
case 3:
modifyContact();
break;
case 4:
searchContact();
break;
case 5:
displayContacts();
break;
case 0:
printf("程序已退出!\n");
return 0;
default:
printf("无效的选择,请重新选择!\n");
break;
}
}
return 0;
}
```
这个示例程序实现了一个基本的通讯录管理系统,用户可以通过控制台输入来添加、删除、修改、查询和显示所有联系人。程序使用结构体数组来存储联系人信息,并且使用循环和switch语句来实现菜单操作。