[問題] 只允許輸入數字,非輸入數字會迴圈請你重 …

看板C_and_CPP作者 (~睿~)時間13年前 (2011/07/06 12:27), 編輯推噓3(303)
留言6則, 5人參與, 最新討論串1/1
開發平台(Platform): Dev-C++ 問題(Question):如何解決輸入英文字母也會判斷 餵入的資料(Input):A,B,C,a,b,c...etc 預期的正確結果(Expected Output):及格和不及格 程式碼(Code): # include <iostream> using namespace std; int main(){ int a; cout<<"請輸入一個分數"<<endl; cin>>a; if (a>=0&&a<=100) { if (a>=60) cout<<"及格"<<endl; else cout<<"不及格"<<endl; } else cout<<"成績輸入錯誤"<<endl; system("pause"); return 0; } 補充說明(Supplement): 我是想要讓使用者只能輸入數字,如果不是輸入數字 就會一直迴圈請你輸入數字 或者直接印出輸入錯誤的訊息 正確來說應該要能出現提示 一直說重新輸入正確數字或是選擇離開 這樣是最好的 有爬過文...有人說cin 和 scanf有差別 不知道我這個問題能不能 用cin和scanf 都有不解法呢? 感謝各位大大幫忙! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.197.48 ※ 編輯: junny0204 來自: 111.251.197.48 (07/06 12:27) ※ 編輯: junny0204 來自: 111.251.197.48 (07/06 12:28)

07/06 12:37, , 1F
硬要用cin就丟到string buffer 慢慢做.
07/06 12:37, 1F

07/06 12:38, , 2F
將輸入當成字串,再依內容決定要不要轉數字
07/06 12:38, 2F

07/06 12:42, , 3F

07/06 12:42, , 4F
你可以執行上面這隻程式,輸入數字與非數字,觀察結果
07/06 12:42, 4F

07/06 19:46, , 5F
看一下這兩個 isdigit, isalpha
07/06 19:46, 5F

07/07 19:22, , 6F
好像還意要搭配cin.clear()的樣子吧
07/07 19:22, 6F
文章代碼(AID): #1E4-GOAL (C_and_CPP)