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