用c语言写一个实验 实验要求:(1)建立通讯录(2)增加联系人(3)删除某位联系人(4)查找某位联系人(5)显示通讯录的内容
时间: 2024-09-08 11:01:03 浏览: 40
使用C语言编写一个简单的通讯录程序,可以通过以下步骤实现:
1. 定义联系人结构体(struct),包含必要的信息字段,例如姓名、电话号码等。
2. 创建一个通讯录数组,用来存储多个联系人信息。
3. 实现增加联系人的功能,可以接受用户输入的信息,并将其添加到通讯录数组中。
4. 实现删除联系人的功能,通过用户指定的姓名或电话号码,在通讯录中查找并删除相应的联系人信息。
5. 实现查找联系人的功能,通过用户指定的姓名或电话号码,在通讯录中查找对应的联系人信息,并显示。
6. 实现显示通讯录内容的功能,遍历通讯录数组并打印每个联系人的信息。
下面是一个简单的示例代码框架,用于指导如何实现上述功能:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_CONTACTS 100
typedef struct {
char name[50];
char phone[20];
} Contact;
Contact directory[MAX_CONTACTS];
int contact_count = 0;
void addContact() {
if (contact_count >= MAX_CONTACTS) {
printf("通讯录已满,无法添加新的联系人。\n");
return;
}
printf("请输入联系人姓名: ");
scanf("%s", directory[contact_count].name);
printf("请输入联系人电话: ");
scanf("%s", directory[contact_count].phone);
contact_count++;
}
void deleteContact() {
char contact_name[50];
printf("请输入要删除的联系人姓名: ");
scanf("%s", contact_name);
for (int i = 0; i < contact_count; i++) {
if (strcmp(directory[i].name, contact_name) == 0) {
for (int j = i; j < contact_count - 1; j++) {
directory[j] = directory[j + 1];
}
contact_count--;
printf("联系人已删除。\n");
return;
}
}
printf("未找到该联系人。\n");
}
void findContact() {
char contact_name[50];
printf("请输入要查找的联系人姓名: ");
scanf("%s", contact_name);
for (int i = 0; i < contact_count; i++) {
if (strcmp(directory[i].name, contact_name) == 0) {
printf("姓名: %s, 电话: %s\n", directory[i].name, directory[i].phone);
return;
}
}
printf("未找到该联系人。\n");
}
void displayContacts() {
if (contact_count == 0) {
printf("通讯录为空。\n");
return;
}
for (int i = 0; i < contact_count; i++) {
printf("姓名: %s, 电话: %s\n", directory[i].name, directory[i].phone);
}
}
int main() {
int choice;
do {
printf("\n通讯录管理系统\n");
printf("1. 添加联系人\n");
printf("2. 删除联系人\n");
printf("3. 查找联系人\n");
printf("4. 显示所有联系人\n");
printf("0. 退出\n");
printf("请输入你的选择: ");
scanf("%d", &choice);
switch (choice) {
case 1:
addContact();
break;
case 2:
deleteContact();
break;
case 3:
findContact();
break;
case 4:
displayContacts();
break;
case 0:
printf("退出通讯录管理系统。\n");
break;
default:
printf("无效的选择,请重新输入。\n");
}
} while (choice != 0);
return 0;
}
```
请注意,这个示例代码是一个基础的实现,没有进行详细的错误检查和用户输入验证,实际应用中需要增加这些功能以确保程序的健壮性。
阅读全文