Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memastikan Pengesahan Input Berangka dalam C?

Bagaimana untuk Memastikan Pengesahan Input Berangka dalam C?

Patricia Arquette
Patricia Arquetteasal
2024-11-15 21:13:02651semak imbas

How to Ensure Numeric Input Validation in C  ?

Memastikan Pengesahan Input Numerik dalam C

Mengesahkan input pengguna untuk memastikan ketepatan angka boleh mencabar dalam C . Untuk menangani isu ini, program dicari yang menerima input integer sambil menamatkan jika tiada input diberikan.

Kaedah:

Untuk mengesahkan input angka dan mengendalikan input kosong, pendekatan berikut disyorkan:

int n;
cin >> n;
if (!cin) // or if(cin.fail())
{
    // No input or invalid input
    cin.clear(); // Reset failbit
    cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // Skip bad input
    cout << "Invalid input. Please enter an integer: "; // Request reinput
}

Penjelasan:

  • Apabila cin menemui input tidak sah (cth., aksara bukan angka), ia menetapkan failbit bendera.
  • cin.clear() menetapkan semula failbit dan membenarkan atur cara diteruskan.
  • cin.ignore() membuang penimbal input yang tinggal untuk mengelakkan ralat input selanjutnya.
  • Mesej dipaparkan meminta pengguna memasukkan semula integer.

Dengan terus mengesahkan input dan mengendalikan kes input kosong, kaedah ini memastikan kefungsian program yang betul dalam mengendalikan input integer.

Atas ialah kandungan terperinci Bagaimana untuk Memastikan Pengesahan Input Berangka 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