ホームページ > バックエンド開発 > C++ > C で有効な整数入力を確認するにはどうすればよいですか?

C で有効な整数入力を確認するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-12 17:31:09
オリジナル
403 人が閲覧しました

How to Ensure Valid Integer Input in C  ?

ユーザー入力の整数の有効性のチェック

提供された 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート