作者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