ユーザー入力を扱う場合、誤ったデータが処理されるのを防ぐために、入力を検証することが重要です。よくある問題の 1 つは、入力された値が有効な double であることを確認することです。 C でこの問題に対処する方法は次のとおりです。
提供されたコードは、cin >> を使用してユーザー入力が有効な数値であるかどうかをチェックします。 ×。ただし、入力が double でない場合は、「無効な入力!」が無限に出力されます。声明。これを修正するには、有効な double が入力されるまで継続的に入力を求めるループを実装します。
while (true) { if (cin >> x) { // Valid number break; } else { // Not a valid number cout << "Invalid Input! Please input a numerical value." << endl; cin.clear(); // Clear the error state while (cin.get() != '\n') ; // Empty loop to discard the line } }
この変更されたコードは、最初に入力が有効な数値であるかどうかを確認します。そうでない場合は、エラー メッセージを出力してエラー状態をクリアし、前の行に入力された内容をすべて読み取って破棄します。これにより、ユーザーは有効な double を入力するように求められ、プログラムがエラー メッセージの無限ループに陥ることがなくなります。
以上がC で有効な二重入力を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。