C语言实现通讯录管理系统
在现代社会中,通讯录已经成为我们生活中不可或缺的一部分,它帮助我们记录和管理联系人的信息,方便我们在需要的时候快速找到联系方式,本文将介绍如何使用C语言实现一个简单的通讯录管理系统。
我们需要定义一个结构体来存储联系人的信息,这个结构体可以包含姓名、电话号码、电子邮件等字段。
typedef struct { char name[50]; char phone[20]; char email[50]; } Contact;
接下来,我们需要创建一个数组来存储多个联系人的信息,我们可以使用动态内存分配来实现这个功能。
Contact *contacts = malloc(sizeof(Contact) * 100);
我们需要实现一些基本的功能,如添加联系人、删除联系人、查找联系人等,这些功能可以通过函数来实现。
void add_contact(Contact *contacts, int *count, const char *name, const char *phone, const char *email) { contacts[*count].name = strdup(name); contacts[*count].phone = strdup(phone); contacts[*count].email = strdup(email); (*count)++; } void delete_contact(Contact *contacts, int *count, const char *name) { for (int i = 0; i < *count; i++) { if (strcmp(contacts[i].name, name) == 0) { free(contacts[i].name); free(contacts[i].phone); free(contacts[i].email); for (int j = i; j < *count - 1; j++) { contacts[j] = contacts[j + 1]; } (*count)--; break; } } } Contact *find_contact(Contact *contacts, int count, const char *name) { for (int i = 0; i < count; i++) { if (strcmp(contacts[i].name, name) == 0) { return &contacts[i]; } } return NULL; }
我们需要实现一个主函数来测试我们的通讯录管理系统。
int main() { Contact *contacts = malloc(sizeof(Contact) * 100); int count = 0; add_contact(contacts, &count, "张三", "13800138000", "zhangsan@example.com"); add_contact(contacts, &count, "李四", "13900139000", "lisi@example.com"); add_contact(contacts, &count, "王五", "13700137000", "wangwu@example.com"); Contact *contact = find_contact(contacts, count, "李四"); if (contact != NULL) { printf("找到联系人:%s,电话:%s,邮箱:%s ", contact->name, contact->phone, contact->email); } else { printf("未找到联系人 "); } delete_contact(contacts, &count, "张三"); contact = find_contact(contacts, count, "张三"); if (contact != NULL) { printf("找到联系人:%s,电话:%s,邮箱:%s ", contact->name, contact->phone, contact->email); } else { printf("未找到联系人 "); } free(contacts); return 0; }
通过以上代码,我们可以实现一个简单的通讯录管理系统,当然,这个系统还有很多可以改进的地方,例如添加联系人时检查重复、优化查找算法等,这已经足够我们了解如何使用C语言实现一个简单的通讯录管理系统了。
还没有评论,来说两句吧...