如果有用户相关信息不详,输入时以0代替,并在相应的字段中写入“不详”。这个怎么做?
3) 实现添加功能:能根据姓名添加新数据。当要添加新数据的时候,首先输入姓名,判断输入的姓名是否存在,如果不存在,则根据提示依次输入相应信息,如果有用户相关信息不详,输入时以0代替,并在相应的字段中写入“不详”。
红色字体要求怎么在下面的代码中实现?
程序代码:
void add()//添加新数据
{
int i, j;
char n[10];
FILE *fp = fopen("E:\\C语言课程设计\\JY0142.txt", "a+");//打开追加可读写的文件
if (fp == NULL)
{
printf("文件打开失败!\n");
exit(0);
}
for (i = 0; i < N; i++)
fscanf(fp, "%s %s %d %s %d %s\n", pi[i].name, pi[i].addr, &pi[i].post, pi[i].email, &pi[i].QQ, pi[i].phone);//给结构体赋值
loop:
j = 1;
printf("请输入姓名:");
scanf("%s", n);
for (i = 0; i < N; i++)
{
if (strcmp(pi[i].name, n) == 0)//判断联系人是否存在
{
j = 0;
break;
}
}
if (j)
{ //若联系人不存在,则执行写入操作
printf("\n此联系人不存在,请依次输入新信息:\n姓名 地址 邮编 Email QQ 手机号码\n");
scanf("%s %s %d %s %d %s", pi->name, pi->addr, &pi->post, pi->email, &pi->QQ, pi->phone);
fprintf(fp, "\n%-6s %-12s %-6d %-12s %-6d %-11s", pi->name, pi->addr, pi->post, pi->email, pi->QQ, pi->phone);
printf("\n信息录入完毕!");
}
else
printf("\n此联系人已存在!");
printf("是否继续录入信息【y/n】:");
if (getche() == 'y' || getche() == 'Y')//实现继续添加和退出添加
goto loop;
else
printf("结束添加联系人!");
fclose(fp);
}
[此贴子已经被作者于2017-6-18 01:07编辑过]









