Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memastikan Input Integer Sah dalam C?

Bagaimana untuk Memastikan Input Integer Sah dalam C?

Linda Hamilton
Linda Hamiltonasal
2024-12-12 17:31:09385semak imbas

How to Ensure Valid Integer Input in C  ?

Menyemak Input Pengguna untuk Kesahan Integer

Dalam kod C yang disediakan, matlamatnya adalah untuk membangunkan atur cara yang membaca dua integer daripada pengguna dan melakukan operasi matematik asas ke atasnya. Walau bagaimanapun, satu pertimbangan penting timbul: bagaimana untuk memastikan pengguna memasukkan integer yang sah.

Untuk menyemak sama ada input ialah integer, kita boleh menggunakan fungsi cin.fail(). Ia mengembalikan palsu jika input adalah sah dan benar jika ia tidak sah atau mengandungi aksara bukan angka.

Menyemak Integer Sah

Coretan kod berikut menunjukkan cara untuk semak kesahihan input pengguna untuk kedua-dua integer:

int firstvariable, secondvariable;
cin >> firstvariable;
if (cin.fail()) {
    // Not an integer; handle appropriately
}

cin >> secondvariable;
if (cin.fail()) {
    // Not an integer; handle appropriately
}

Jika input ialah tidak sah, pengendalian ralat adalah perlu. Ini boleh melibatkan paparan mesej, mengosongkan aliran input dan menggesa semula pengguna untuk memasukkan integer yang betul.

Mengendalikan Input Tidak Sah

Untuk memastikan input berterusan sehingga integer yang sah dimasukkan, kita boleh melaksanakan gelung yang berterusan sehingga input melepasi kesahihan semak:

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;
}

Dalam gelung ini, aliran input dikosongkan, input tidak sah diabaikan dan pengguna digesa untuk memasukkan integer yang sah.

Contoh

Kod berikut menyediakan contoh lengkap yang menyemak input integer yang sah dan mengendalikan tidak sah input:

#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;
}

Atas ialah kandungan terperinci Bagaimana untuk Memastikan Input Integer Sah dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn