void addxinxi1()//添加用户信息并写入文件中函数(管理员调用则为添加用户信息功能,也为主页面第三个注册功能 ) { int n; char str[]="0"; struct xinxi *head1,*p; char dianhua[N],mima[N],chepaihao[N],chexinghao[N]; p=head1=duqu2(); printf("\t\t\t\t请输入以下内容(账号(联系方式)为0时退出):\n"); printf("\t\t\t\t账号(联系方式):"); scanf("%s",dianhua); if(strcmp(str,dianhua)!=0) { if(p==NULL) { printf("\t\t\t\t密码:"); scanf("%s",mima); printf("\t\t\t\t车牌号:"); scanf("%s",chepaihao); printf("\t\t\t\t车型号:"); scanf("%s",chexinghao); printf("\n"); FILE *fp = fopen("用户信息.txt", "a"); fprintf(fp,"%s %s %s %s",dianhua,mima,chepaihao,chexinghao); fclose(fp); printf("\t\t\t\t注册成功!\n"); } else { printf("\t\t\t\t1\n"); printf("\t\t\t\t密码:"); scanf("%s",mima); printf("\t\t\t\t车牌号:"); scanf("%s",chepaihao); printf("\t\t\t\t车型号:"); scanf("%s",chexinghao); printf("\n"); while(p!=NULL) { if(strcmp(p->dianhua,dianhua)==0) { printf("账户(联系方式)已存在,请重新输入!"); } p=p->next; } FILE *fp = fopen("用户信息.txt", "a"); fprintf(fp,"%s %s %s %s",dianhua,mima,chepaihao,chexinghao); fclose(fp); printf("\t\t\t\t注册成功!\n"); } } else printf("\t\t\t\t已退出!\n"); }为什么输入相同账号后却
时间: 2023-08-26 14:06:10 浏览: 85
无法检测到已存在的账号?
这可能是因为在程序中,当检测到已存在的账号时,只是简单的输出了一条提示信息,并没有终止程序的运行,导致程序会继续执行,最终仍然会将相同的账号写入文件中。建议在检测到已存在的账号后,加入中断程序运行的语句,例如使用return语句。另外,建议在写入文件前先检查文件中是否已存在相同账号,避免重复写入。
阅读全文