如果有用户相关信息不详,输入时以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编辑过]