代码拉取完成,页面将自动刷新
函数实现
//初始化通讯录
void InitContact(contact* pc)
{
pc->sz = 0;
memset(pc->data, 0, sizeof(pc->data));
}
//添加联系人函数
void AddContact(contact* pc)
{
//判断是否满了 满了不能添加
if (pc->sz == MAX)
{
printf("通讯录已满,无法添加\n");
return;
}
//添加
printf("请输入姓名:>");
scanf("%s", pc->data[pc->sz].name);
printf("请输入性别:>");
scanf("%s", pc->data[pc->sz].sex);
printf("请输入年龄:>");
scanf("%d", &(pc->data[pc->sz].age));
printf("请输入电话:>");
scanf("%s", pc->data[pc->sz].tele);
printf("请输入地址:>");
scanf("%s", pc->data[pc->sz].addr);
pc->sz++;
printf("添加完毕\n");
}
//实现打印通讯录
void PrintContact(const contact* pc)
{
int i = 0;
//打印目录
printf("%-20s %-5s %-5s %-12s %-10s\n", "姓名", "性别", "年龄", "电话", "地址");
//打印数据
for (i = 0; i < pc->sz; i++)
{
printf("%-20s %-5s %-5d %-12s %-10s\n", pc->data[i].name, pc->data[i].sex, pc->data[i].age, pc->data[i].tele, pc->data[i].addr);
}
}
//查找联系人
static int FindContact(contact* pc, char name[])
{
int i = 0;
for (i = 0; i < pc->sz; i++)
{
if (strcmp(pc->data[i].name, name) == 0)
{
return i;
}
}
return -1;
}
//删除联系人
void DelContact(contact* pc)
{
if (pc->sz == 0)
{
printf("通讯录为空,无法删除\n");
return;
}
char name[MAX_NAME] = { 0 };
printf("请输入名字:>");
scanf("%s", name);
int pos = FindContact(pc, name);
if (pos == -1)
{
printf("找不到此联系人\n");
return;
}
int i = 0;
for (i = pos; i < pc->sz - 1; i++)
{
pc->data[i] = pc->data[i + 1];
}
pc->sz--;
printf("删除完成\n");
}
//查找联系人
void SearchContact(const contact* pc)
{
if (pc->sz == 0)
{
printf("通讯录为空,无法查找\n");
return;
}
char name[MAX_NAME] = { 0 };
printf("请输入名字:>");
scanf("%s", name);
int pos = FindContact(pc, name);
if (pos == -1)
{
printf("找不到此联系人\n");
return;
}
else
{
//打印目录
printf("%-20s %-5s %-5s %-12s %-10s\n", "姓名", "性别", "年龄", "电话", "地址");
//打印数据
printf("%-20s %-5s %-5d %-12s %-10s\n", pc->data[pos].name, pc->data[pos].sex, pc->data[pos].age, pc->data[pos].tele, pc->data[pos].addr);
}
}
//修改联系人
void ModifyContact(contact* pc)
{
if (pc->sz == 0)
{
printf("通讯录为空,无法修改\n");
return;
}
char name[MAX_NAME] = { 0 };
printf("请输入名字:>");
scanf("%s", name);
int pos = FindContact(pc, name);
if (pos == -1)
{
printf("找不到此联系人\n");
return;
}
else
{
printf("请输入姓名:>");
scanf("%s", pc->data[pos].name);
printf("请输入性别:>");
scanf("%s", pc->data[pos].sex);
printf("请输入年龄:>");
scanf("%d", &(pc->data[pos].age));
printf("请输入电话:>");
scanf("%s", pc->data[pos].tele);
printf("请输入地址:>");
scanf("%s", pc->data[pos].addr);
printf("修改完毕\n");
}
}
函数定义
//初始化通讯录
void InitContact(contact* pc);
//添加联系人
void AddContact(contact* pc);
//打印通讯录
void PrintContact(const contact* pc);
//删除联系人方式
void DelContact(contact* pc);
//查找联系人
void SearchContact(const contact* pc);
//修改联系人
void ModifyContact(contact* pc);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。