ユーザー入力の整数の有効性のチェック
提供された C コードの目標は、ユーザーから 2 つの整数を読み取るプログラムを開発することです。そしてそれらに対して基本的な数学演算を実行します。ただし、ユーザーが有効な整数を入力していることを確認する方法という重要な考慮事項が生じます。
入力が整数であるかどうかを確認するには、cin.fail() 関数を利用できます。入力が有効な場合は false を返し、入力が無効であるか数値以外の文字が含まれている場合は true を返します。
有効な整数のチェック
次のコード スニペットは、次の方法を示しています。両方の整数に対するユーザーの入力の有効性をチェックします:
int firstvariable, secondvariable; cin >> firstvariable; if (cin.fail()) { // Not an integer; handle appropriately } cin >> secondvariable; if (cin.fail()) { // Not an integer; handle appropriately }
入力が無効な場合は、エラーが発生します取り扱いが必要です。これには、メッセージの表示、入力ストリームのクリア、および正しい整数の入力をユーザーに再プロンプトすることが含まれる場合があります。
無効な入力の処理
次の期限まで継続的な入力を保証するには有効な整数が入力されると、入力が有効性を通過するまで継続するループを実装できます。 check:
while (cin.fail()) { // Clear the input stream cin.clear(); // Ignore the invalid input cin.ignore(256, '\n'); // Re-prompt the user for a valid integer cout << "Please enter a valid integer: "; // Retry the input cin >> firstvariable; }
このループでは、入力ストリームがクリアされ、無効な入力が無視され、ユーザーは有効な整数を入力するよう求められます。
例
次のコードは、有効な整数入力をチェックし、無効な整数入力を処理する完全な例を示しています。入力:
#include <iostream> using namespace std; int main() { int firstvariable, secondvariable; cout << "Please enter two integers: "; cin >> firstvariable; while (cin.fail()) { cin.clear(); cin.ignore(256, '\n'); cout << "Invalid input. Please enter a valid integer: "; cin >> firstvariable; } cin >> secondvariable; while (cin.fail()) { cin.clear(); cin.ignore(256, '\n'); cout << "Invalid input. Please enter a valid integer: "; cin >> secondvariable; } // Perform mathematical operations on the valid integers return 0; }
以上がC で有効な整数入力を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。