求大神指导哪里有错误?感觉逻辑上没问题,但就是无法实现注册

Junei1101 2019-06-28 08:00:25
跪求大神指导,指正错误点,谢谢亲们!
...全文
165 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Junei1101 2019-07-02
  • 打赏
  • 举报
回复
引用 5 楼 Junei110 的回复:
[quote=引用 4 楼 gouyanfen 的回复:][quote=引用 3 楼 Junei110 的回复:] [quote=引用 2 楼 Junei110 的回复:][quote=引用 1 楼 gouyanfen 的回复:]bool Isfind=false; while(fread(&buytemp,sieof(Buyer),1,fp) { if(strcmp(buyers->user,buytemp.user))==0) { Isfind=true; break; } } if(Isfind) { printf("用户己存在"); } else { fwrite(buyers,sizeof(Buyer),1,fp); printf("注册成功"); }
在循环中不是需要遍历判断嘛?不需要用fseek来进行移动遍历嘛?还有就是你用的while 循环中只用了fread,这个我能理解,就是不知道这个是如何进行一一比较呢?不理解,希望能说说,教教我,谢谢[/quote]是因为我这种思路不对呢还是怎么了?运行时候没错误就是无法实现,[/quote] fread文件游标自动后移 如果找到置标志为true代表找到,一直循环直到文件结尾,如果标志没变,说明没找到,执行注册部分 写入文件,注册成功[/quote]明白了,谢谢[/quote]我按照你给的代码试了试还是不行?问题出哪里了?
Junei1101 2019-07-02
  • 打赏
  • 举报
回复
引用 4 楼 gouyanfen 的回复:
[quote=引用 3 楼 Junei110 的回复:] [quote=引用 2 楼 Junei110 的回复:][quote=引用 1 楼 gouyanfen 的回复:]bool Isfind=false; while(fread(&buytemp,sieof(Buyer),1,fp) { if(strcmp(buyers->user,buytemp.user))==0) { Isfind=true; break; } } if(Isfind) { printf("用户己存在"); } else { fwrite(buyers,sizeof(Buyer),1,fp); printf("注册成功"); }
在循环中不是需要遍历判断嘛?不需要用fseek来进行移动遍历嘛?还有就是你用的while 循环中只用了fread,这个我能理解,就是不知道这个是如何进行一一比较呢?不理解,希望能说说,教教我,谢谢[/quote]是因为我这种思路不对呢还是怎么了?运行时候没错误就是无法实现,[/quote] fread文件游标自动后移 如果找到置标志为true代表找到,一直循环直到文件结尾,如果标志没变,说明没找到,执行注册部分 写入文件,注册成功[/quote]明白了,谢谢🙏
gouyanfen 2019-06-30
  • 打赏
  • 举报
回复
引用 3 楼 Junei110 的回复:
[quote=引用 2 楼 Junei110 的回复:][quote=引用 1 楼 gouyanfen 的回复:]bool Isfind=false; while(fread(&buytemp,sieof(Buyer),1,fp) { if(strcmp(buyers->user,buytemp.user))==0) { Isfind=true; break; } } if(Isfind) { printf("用户己存在"); } else { fwrite(buyers,sizeof(Buyer),1,fp); printf("注册成功"); }
在循环中不是需要遍历判断嘛?不需要用fseek来进行移动遍历嘛?还有就是你用的while 循环中只用了fread,这个我能理解,就是不知道这个是如何进行一一比较呢?不理解,希望能说说,教教我,谢谢[/quote]是因为我这种思路不对呢还是怎么了?运行时候没错误就是无法实现,[/quote] fread文件游标自动后移 如果找到置标志为true代表找到,一直循环直到文件结尾,如果标志没变,说明没找到,执行注册部分 写入文件,注册成功
Junei1101 2019-06-30
  • 打赏
  • 举报
回复
引用 2 楼 Junei110 的回复:
[quote=引用 1 楼 gouyanfen 的回复:]bool Isfind=false; while(fread(&buytemp,sieof(Buyer),1,fp) { if(strcmp(buyers->user,buytemp.user))==0) { Isfind=true; break; } } if(Isfind) { printf("用户己存在"); } else { fwrite(buyers,sizeof(Buyer),1,fp); printf("注册成功"); }
在循环中不是需要遍历判断嘛?不需要用fseek来进行移动遍历嘛?还有就是你用的while 循环中只用了fread,这个我能理解,就是不知道这个是如何进行一一比较呢?不理解,希望能说说,教教我,谢谢[/quote]是因为我这种思路不对呢还是怎么了?运行时候没错误就是无法实现,
Junei1101 2019-06-30
  • 打赏
  • 举报
回复
引用 1 楼 gouyanfen 的回复:
bool Isfind=false; while(fread(&buytemp,sieof(Buyer),1,fp) { if(strcmp(buyers->user,buytemp.user))==0) { Isfind=true; break; } } if(Isfind) { printf("用户己存在"); } else { fwrite(buyers,sizeof(Buyer),1,fp); printf("注册成功"); }
在循环中不是需要遍历判断嘛?不需要用fseek来进行移动遍历嘛?还有就是你用的while 循环中只用了fread,这个我能理解,就是不知道这个是如何进行一一比较呢?不理解,希望能说说,教教我,谢谢🙏
gouyanfen 2019-06-28
  • 打赏
  • 举报
回复
bool Isfind=false; while(fread(&buytemp,sieof(Buyer),1,fp) { if(strcmp(buyers->user,buytemp.user))==0) { Isfind=true; break; } } if(Isfind) { printf("用户己存在"); } else { fwrite(buyers,sizeof(Buyer),1,fp); printf("注册成功"); }

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧