用 C++代码写一个班级通讯录程序
时间: 2023-10-16 13:11:01 浏览: 197
以下是一个简单的班级通讯录程序,使用 C 语言编写,可以添加、删除、查找和显示联系人信息。
```c
#include <stdio.h>
#include <string.h>
#define MAX_CONTACTS 100 // 最多联系人数
// 联系人结构体
typedef struct {
char name[50];
char phone[20];
char email[50];
} Contact;
// 全局变量
Contact contacts[MAX_CONTACTS]; // 联系人数组
int numContacts = 0; // 联系人数量
// 函数声明
void addContact();
void deleteContact();
void searchContact();
void displayContacts();
// 主函数
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:
searchContact();
break;
case 4:
displayContacts();
break;
case 0:
printf("程序已退出。\n");
break;
default:
printf("无效的选择,请重试。\n");
break;
}
} while (choice != 0);
return 0;
}
// 添加联系人
void addContact() {
if (numContacts == MAX_CONTACTS) {
printf("联系人数量已达到上限,无法添加更多联系人。\n");
return;
}
Contact newContact;
printf("请输入联系人姓名:");
scanf("%s", newContact.name);
printf("请输入联系人电话:");
scanf("%s", newContact.phone);
printf("请输入联系人邮箱:");
scanf("%s", newContact.email);
contacts[numContacts] = newContact;
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(name, contacts[i].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 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(name, contacts[i].name) == 0) {
found = 1;
printf("联系人姓名:%s\n", contacts[i].name);
printf("联系人电话:%s\n", contacts[i].phone);
printf("联系人邮箱:%s\n", contacts[i].email);
break;
}
}
if (!found) {
printf("未找到该联系人。\n");
}
}
// 显示所有联系人
void displayContacts() {
if (numContacts == 0) {
printf("联系人列表为空。\n");
return;
}
printf("所有联系人:\n");
for (int i = 0; i < numContacts; i++) {
printf("%d. %s (%s, %s)\n", i + 1, contacts[i].name, contacts[i].phone, contacts[i].email);
}
}
```
阅读全文