Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Meningkatkan Kecekapan Gelung Pengesahan Input C?

Bagaimanakah Saya Boleh Meningkatkan Kecekapan Gelung Pengesahan Input C?

Mary-Kate Olsen
Lepaskan: 2024-12-26 09:45:10
asal
377 orang telah melayarinya

How Can I Improve C   Input Validation Loop Efficiency?

Sahkan Input Dengan Lancar dengan Gelung Pengesahan Input C

Dalam usaha anda untuk menguasai C , pengesahan input adalah yang terpenting. Anda terjumpa pendekatan yang sah, tetapi mari kita terokai pilihan alternatif.

Pendekatan Anda

Gelung anda berkisar pada semakan cin.fail(), yang mengesan format input yang salah . Jika bukan integer dimasukkan, ia memaparkan mesej ralat dan mengosongkan penimbal input menggunakan cin.clear() dan cin.ignore(). Walaupun pendekatan ini munasabah, terdapat nuansa yang boleh diperbaiki.

Pendekatan Alternatif

Daripada bergantung pada cin.fail(), anda boleh terus menyemak jika operasi input (cin >> cukai pendapatan) berjaya atau gagal. Jika gagal, tangani ralat dengan anggun dengan mesej dan kosongkan penimbal input seperti sebelum ini:

int taxableIncome;

for (;;) {
    cout << "Please enter in your taxable income: ";
    if (cin >> taxableIncome) {
        break;
    } else {
        cout << "Please enter a valid integer" << endl;
        cin.clear();
        cin.ignore(numeric_limits<streamsize>::max(), '\n');
    }
}
Salin selepas log masuk

Dengan menggunakan gelung ini, anda mengelak daripada menetapkan dan menyemak pembolehubah ralat eksplisit, memudahkan proses pengesahan. Selain itu, mengosongkan penimbal input menggunakan numeric_limits::max() memastikan bahawa semua aksara tidak sah dialih keluar.

Kesimpulan

Kedua-dua pendekatan adalah berkesan untuk pengesahan input , tetapi gelung yang disemak menawarkan sintaks yang lebih ringkas dan boleh dibaca. Akhirnya, kaedah terbaik bergantung pada pilihan anda dan keperluan khusus program anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meningkatkan Kecekapan Gelung Pengesahan Input 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