作者junny0204 (~睿~)
看板C_and_CPP
標題[問題] 只允許輸入數字,非輸入數字會迴圈請你重新輸入
時間Wed Jul 6 12:27:02 2011
開發平台(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)
→ tropical72:硬要用cin就丟到string buffer 慢慢做. 07/06 12:37
推 loveme00835:將輸入當成字串,再依內容決定要不要轉數字 07/06 12:38
→ james732:你可以執行上面這隻程式,輸入數字與非數字,觀察結果 07/06 12:42
推 jigfopsda:看一下這兩個 isdigit, isalpha 07/06 19:46
推 herman602:好像還意要搭配cin.clear()的樣子吧 07/07 19:22