Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengesahkan Input Berganda dalam C ?

Bagaimana untuk Mengesahkan Input Berganda dalam C ?

Barbara Streisand
Lepaskan: 2024-12-10 15:43:09
asal
196 orang telah melayarinya

How to Reliably Validate Double Input in C  ?

Mengesahkan Input Pengguna sebagai Double dalam C

Mengesahkan input pengguna untuk memastikan integritinya adalah penting dalam pengaturcaraan C. Apabila berurusan dengan nilai titik terapung, adalah penting untuk mengesahkan bahawa input itu sememangnya berganda.

Pertimbangkan coretan kod berikut yang secara berulang menggesa pengguna untuk berganda:

double x;

while (1) {
    cout << '>';
    if (cin >> x) {
        // valid number
        break;
    } else {
        // not a valid number
        cout << "Invalid Input! Please input a numerical value." << endl;
    }
}
Salin selepas log masuk

Walau bagaimanapun, kod yang disediakan mengandungi kecacatan: jika pengguna memasukkan input yang tidak sah, pernyataan if akan gagal dan blok else akan memaparkan mesej ralat. Walau bagaimanapun, program ini tidak akan menggesa pengguna untuk input sekali lagi, mengakibatkan gelung mesej ralat yang tidak terhingga.

Untuk menyelesaikan isu ini, kami boleh menggunakan fungsi cin.clear() untuk mengosongkan keadaan ralat dan manakala (cin.get() != 'n'); gelung untuk mengosongkan penimbal input. Dengan cara ini, apabila input tidak sah ditemui, program akan memaparkan mesej ralat, mengosongkan keadaan ralat, membuang input tidak sah dan menggesa pengguna untuk input yang sah.

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan