【攻略】基于C语言实现高级通讯录的示例代码
简述
本示例代码基于C语言实现了一个高级通讯录,具备添加联系人、查找联系人、删除联系人等功能,可以灵活调用。代码具有可读性强、简洁明了、易于修改的特点。
准备
在开始实现高级通讯录之前,需要安装C语言编译器,并具备一定的编程能力和语言基础。同时,还需要对通讯录具有清晰的逻辑思路和设计规划。
实现过程
1.创建通讯录结构体
首先需要定义一个通讯录结构体,包含联系人姓名、电话号码、email地址和家庭地址等信息。代码示例如下:
typedef struct AddressBook
{
char name[20];
char phone[20];
char email[30];
char address[50];
}addressbook;
2.添加联系人
其次,需要实现能够添加联系人的函数,包括输入联系人信息、初始判断是否已有该联系人、记录该联系人并保存信息。代码示例如下:
void addContact(addressbook contact[], int* num)
{
//输入联系人信息
printf("请输入联系人姓名:\n");
scanf("%s", contact[*num].name);
printf("请输入联系人电话:\n");
scanf("%s", contact[*num].phone);
printf("请输入联系人email地址:\n");
scanf("%s", contact[*num].email);
printf("请输入联系人家庭地址:\n");
scanf("%s", contact[*num].address);
//判断是否已有该联系人
for (int i = 0; i < *num; i++)
{
if (strcmp(contact[i].name, contact[*num].name) == 0)
{
printf("通讯录中已有该联系人,添加失败!\n");
return;
}
}
//记录联系人并保存信息
printf("联系人添加成功!\n");
(*num)++;
}
3.查找联系人
接下来,需要实现能够查找联系人的函数,包括输入查询关键字、从通讯录中查找匹配的联系人、并打印输出联系人信息等。代码示例如下:
void searchContact(addressbook contact[], int num)
{
char keyword[20];
printf("请输入您要查找的联系人姓名或电话号码:\n");
scanf("%s", keyword);
printf("查询结果如下:\n");
for (int i = 0; i < num; i++)
{
if (strcmp(contact[i].name, keyword) == 0 || strcmp(contact[i].phone, keyword) == 0)
{
printf("姓名:%s,电话:%s,email:%s,地址:%s\n",
contact[i].name, contact[i].phone, contact[i].email, contact[i].address);
}
}
}
4.删除联系人
最后,需要实现能够删除联系人的函数,包括输入要删除的联系人的姓名、从通讯录中查找和删除该联系人信息等。代码示例如下:
void deleteContact(addressbook contact[], int* num)
{
char name_to_delete[20];
printf("请输入您要删除的联系人姓名:\n");
scanf("%s", name_to_delete);
int i;
for (i = 0; i < *num; i++)
{
if (strcmp(contact[i].name, name_to_delete) == 0)
{
break;
}
}
if (i == *num)
{
printf("通讯录中没有该联系人!\n");
return;
}
else
{
for (int j = i; j < *num - 1; j++)
{
contact[j] = contact[j + 1];
}
printf("该联系人已被删除!\n");
(*num)--;
}
}
5.示例说明
示例一:添加联系人
首先,需要调用添加联系人函数:
addContact(contact, &num);
接着,需要输入联系人信息:
请输入联系人姓名:
小明
请输入联系人电话:
13888888888
请输入联系人email地址:
xiaoming@qq.com
请输入联系人家庭地址:
北京市朝阳区
联系人添加成功!
最后,可以再次调用查找联系人函数来验证是否添加成功:
searchContact(contact, num);
输出结果如下:
请输入您要查找的联系人姓名或电话号码:
小明
查询结果如下:
姓名:小明,电话:13888888888,email:xiaoming@qq.com,地址:北京市朝阳区
示例二:删除联系人
首先,需要调用查找联系人函数来确认是否有要删除的联系人:
searchContact(contact, num);
输入要删除的联系人姓名:
请输入您要删除的联系人姓名:
小明
然后,需要调用删除联系人函数:
deleteContact(contact, &num);
输出结果如下:
该联系人已被删除!
最后,再次调用查找联系人函数来验证是否删除成功:
searchContact(contact, num);
输出结果如下:
请输入您要查找的联系人姓名或电话号码:
小明
查询结果如下:
通讯录中没有该联系人!
总结
基于C语言实现高级通讯录的示例代码,可以使我们更好地理解和应用C语言的相关知识点和编程思路。在实现过程中,需要充分考虑通讯录的逻辑结构和业务需求,代码设计要合理、清晰、易修改。同时,在实际应用时,还可以根据实际需求进行拓展和细化,打造更加完善的通讯录系统。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于C语言实现高级通讯录的示例代码 - Python技术站