Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memastikan Input Integer Sah dalam 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!