利用结构体实现手机里的“联系人”的功能,要求能存储并能通过姓名或电话查找某个人的详细信息。
时间: 2024-06-08 12:12:25 浏览: 64
可以定义一个名为"Contact"的结构体,包含姓名、电话号码和其他联系信息。然后,使用一个数组来存储多个联系人的信息。可以使用循环来遍历数组查找联系人,也可以使用哈希表或二叉树等数据结构来提高查找效率。
以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CONTACTS 100
typedef struct {
char name[50];
char phone[20];
char email[50];
} Contact;
int main() {
Contact contacts[MAX_CONTACTS];
int num_contacts = 0;
// 添加联系人
strcpy(contacts[num_contacts].name, "张三");
strcpy(contacts[num_contacts].phone, "13888888888");
strcpy(contacts[num_contacts].email, "zhangsan@example.com");
num_contacts++;
strcpy(contacts[num_contacts].name, "李四");
strcpy(contacts[num_contacts].phone, "13999999999");
strcpy(contacts[num_contacts].email, "lisi@example.com");
num_contacts++;
// 查找联系人
char search_name[50];
printf("请输入要查找的联系人姓名:");
scanf("%s", search_name);
for (int i = 0; i < num_contacts; i++) {
if (strcmp(contacts[i].name, search_name) == 0) {
printf("姓名:%s\n电话:%s\n邮箱:%s\n",
contacts[i].name, contacts[i].phone, contacts[i].email);
return 0;
}
}
printf("未找到联系人。\n");
return 0;
}
```
在这个示例中,我们定义了一个包含姓名、电话号码和邮箱的结构体,并使用一个数组来存储多个联系人的信息。我们首先添加了两个联系人,然后通过输入要查找的联系人姓名来查找联系人。如果找到了,就输出联系人的详细信息。如果未找到,就输出“未找到联系人”。
阅读全文