0
我的第一個while循環執行,直到我輸入一個非數字來終止它。然後,執行它,而不是執行,它將被跳過,導致程序終止/完成。我已經嘗試了一切,包括清除「cin bit」,如另一個類似問題中所述,但沒有成功。我究竟做錯了什麼?連續使用(cin >>輸入)成功
int main() {
double fah = 0;
cout << "Enter a fahrenheit value:\n";
while (cin >> fah) { // executes until a non-number input is entered
cout << fah << "F == " << fah_to_cel(fah) << "C\n";
}
// tried cin.clear(); here
// tried cin.clear(ios_base::eofbit); here
double cel = 0;
cout << "Enter a celcius value:\n";
while(cin >> cel) { // executes until a non-number input is entered
cout << cel << "C == " << cel_to_fah(cel) << "F\n";
}
return 0;
}
您希望'clear()'重置錯誤標誌,然後'ignore()'放棄之前的輸入直到包括換行符。我會鏈接一個重複的問題... – Blastfurnace