作者eric8347 (杀人电风扇)
看板Programming
标题[问题] 老梗的猜数字 (C++)
时间Sun Apr 20 21:11:39 2008
虽然这是一个快被讨论到烂掉的题目
不过我还是要来问一下XD
主程式部分都已经OK
但是老师和我说要是输入英文的话
程式就会错误
要我回去修改
在参考了里面的猜数字&cin的特殊用法
修改程式码後
变成现在可以正确判定是不是正确输入数字
或者输入的是英文or英文混杂数字
但是问题来了
确定是数字後
有些数字会无法继续进行下面的程式码
让我非常苦恼
附上cpp档
http://eric8347.googlepages.com/guess.cpp
请求各位大大了...
--
http://eric8347.blogspot.com
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 58.115.22.7
1F:→ revivalworld:if(!cin.good()) { 清除 buffer } 60.244.216.2 04/20 21:49
2F:→ eric8347:是在判定完数字/英文後清除buffer这样吗 58.115.22.7 04/20 21:58
3F:推 revivalworld:不是 这样做是因为 cin 要读 int 却 60.244.216.2 04/20 22:01
4F:→ revivalworld:读到非数字字元时会变成 error 状态 60.244.216.2 04/20 22:02
5F:→ revivalworld:所以用 cin.good() 检查状态决定下一 60.244.216.2 04/20 22:02
6F:→ revivalworld:步该怎麽做 如果错误就清除 buffer 60.244.216.2 04/20 22:03
7F:→ eric8347:清除buffer是cin.clear();这样吗? 58.115.22.7 04/20 22:09
8F:推 pthuang:虽然不太好 不过清空 Buffer 可以用118.169.107.190 04/21 03:31
9F:→ pthuang:fflush( stdin ); 这个方法118.169.107.190 04/21 03:31