最初のwhileループが実行され、終了するために番号を入力するまで実行されません。その後、while(cin >> cel)
の代わりに実行されると、スキップされ、プログラムの終了/終了が導かれます。私は成功を伴わない別の似たような質問に記載されているように、 "シンビット"をクリアすることを含め、すべてを試しました。私は間違って何をしていますか?連続してwhile(cin >> input)を使用する
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