[問題] 輸入型別的判斷(防呆)

看板C_and_CPP作者 ( )時間14年前 (2010/07/29 11:00), 編輯推噓2(202)
留言4則, 1人參與, 最新討論串1/1
while (cout << "please input a interger: ",!(cin >> x)) { //錯誤:輸入非數字 cout << "your input is error \n"; cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); // 清空緩衝區 } 這個while括號裡的語法我有點看不懂@@ 我只知道這是判斷x輸入的型別是否正確 不正確就要重新輸入x 我另外想增加判斷x是否大於一個已知的整數a 如果大於的話也要重新輸入x 不知道要如何修改這段程式碼才能符合我的需求 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.70.205.14

07/29 11:26, , 1F
經測試 cin >> x 若輸入為變數型態 會回傳true 加上'!'
07/29 11:26, 1F

07/29 11:26, , 2F
則表示輸入不為int
07/29 11:26, 2F

07/29 11:26, , 3F
就進入迴圈
07/29 11:26, 3F

07/29 11:36, , 4F
可是這程式不能跑吧?
07/29 11:36, 4F
文章代碼(AID): #1CKEwzLt (C_and_CPP)