2014-01-08 123 views
2
#include<iostream> 
using namespace std; 
int main() 
{ 
    double money; 
    cout << "Input the sum of money: "; 
    cin >> money; 
.... 

我一直在嘗試檢查輸入的值是否爲數值,這樣如果輸入另一個值(字母字母)並且代碼將循環回來再次請求輸入,我可以顯示錯誤消息(錢)如何檢查輸入的值是否爲數字?

+0

什麼是與全部大寫的標題? – Mysticial

+0

@Mysticial,全部大寫標題? – chris

+0

爲什麼標題在帽子裏? – user3175142

回答

2
while ((cin >> money) == false) 
{ 
... 
} 
2

您可以檢查輸入後的流狀態。例如

if (!(std::cin >> money)) std::cout << "Oh, I made a mistake!\n"; 

如果要重複輸入你要撥打

std::cin.clear(); 
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); 

不要忘了,包括頭<limits>