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语言实现一个简单的通讯录管理系统了。



还没有评论,来说两句吧...