2014-05-14 147 views
-1

我嘗試了一些非常簡單的事情,但在同一時間對我來說有點困難。我想讓用戶通過控制檯插入號碼,如果不是號碼告訴不是,並且是數字時再給機會插入。 以下是我迄今取得檢查輸入是否是數字,如果不是再次輸入

int a; 

cout<<"enter a: "; 
cin>>a; 
while (!isdigit(a)); { 
    cout << "\n ERROR, enter a number" ; 
    cin.clear(); 
    cin >> a; 
} 

system("Pause"); 
return 0; 

現在,我得到的錯誤,是不是數量,但該程序終止。我不能再次插入,並且必須重新啓動它。

+2

相關http://stackoverflow.com/questions/19018294/c-to-check-if-user-input-is-a-number-not-a-character-or-a-symbol?rq=1 –

+0

數字不是數字。它由數字組成,有時甚至更多。你應該看重複的問題。 – luk32

+0

如果你總是初始化變量,你的生活會更快樂。 –

回答

1

取下while; ...

然後照顧你爲beeing一個數字檢測值 - isdigit需要一個字符,而您所提供的所有整數從輸入讀取(比如,57204,它不是一個字符碼)。

相關問題