[問題] double的變數,如何判斷用家輸入字母是錯

看板C_and_CPP作者 (天空乂皓)時間13年前 (2013/01/15 19:15), 編輯推噓0(005)
留言5則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Visual Studio 2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 餵入的資料(Input): int main() { double a; cin >> a; if((a < 10)|| (a > 0)) { cout << "a is in between 0-10"; } return 0; } 假如用家輸入了'a' 而不是一數字... 程式還是會把'a'當作於1 - 10之間 到底有什麼方法可以判斷用家輸入字母 是錯誤的? 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.6.199.29

01/15 19:21, , 1F
看cin的failbit
01/15 19:21, 1F

01/15 19:42, , 2F
你的判斷1-10之間的邏輯是錯的XD
01/15 19:42, 2F

01/15 19:48, , 3F
什麼是cin的failbit我初學C++ 不太懂
01/15 19:48, 3F
文章代碼(AID): #1GzJfBYZ (C_and_CPP)