c语言编写简单的同学通讯录程序设计
时间: 2023-07-13 15:34:57 浏览: 55
好的,以下是一个简单的同学通讯录程序设计示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_CONTACTS 100
typedef struct {
char name[20];
char phone[20];
char email[40];
} Contact;
void add_contact(Contact contacts[], int* num_contacts);
void find_contact(Contact contacts[], int num_contacts);
void list_contacts(Contact contacts[], int num_contacts);
int main() {
Contact contacts[MAX_CONTACTS];
int num_contacts = 0;
int choice;
do {
printf("请选择操作:\n");
printf("1. 添加联系人\n");
printf("2. 查找联系人\n");
printf("3. 列出所有联系人\n");
printf("4. 退出程序\n");
printf("请输入操作编号:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_contact(contacts, &num_contacts);
break;
case 2:
find_contact(contacts, num_contacts);
break;
case 3:
list_contacts(contacts, num_contacts);
break;
case 4:
printf("程序已退出。\n");
break;
default:
printf("无效的操作编号,请重新输入。\n");
break;
}
} while (choice != 4);
return 0;
}
void add_contact(Contact contacts[], int* num_contacts) {
if (*num_contacts >= MAX_CONTACTS) {
printf("通讯录已满,无法添加联系人。\n");
return;
}
printf("请输入联系人姓名:");
scanf("%s", contacts[*num_contacts].name);
printf("请输入联系人电话:");
scanf("%s", contacts[*num_contacts].phone);
printf("请输入联系人邮箱:");
scanf("%s", contacts[*num_contacts].email);
printf("联系人已添加成功!\n");
(*num_contacts)++;
}
void find_contact(Contact contacts[], int num_contacts) {
char name[20];
int found = 0;
printf("请输入要查找的联系人姓名:");
scanf("%s", name);
for (int i = 0; i < num_contacts; 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].email);
found = 1;
break;
}
}
if (!found) {
printf("没有找到该联系人。\n");
}
}
void list_contacts(Contact contacts[], int num_contacts) {
if (num_contacts == 0) {
printf("通讯录为空。\n");
return;
}
printf("所有联系人如下:\n");
for (int i = 0; i < num_contacts; i++) {
printf("%d. %s\t%s\t%s\n", i + 1, contacts[i].name, contacts[i].phone, contacts[i].email);
}
}
```
以上示例使用了结构体来存储联系人信息,并通过函数实现了添加、查找和列出所有联系人的功能。可以根据实际需求进行修改和扩展。