Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengesahkan Input Pengguna Integer dengan Berkesan dalam C?
Pernyataan Masalah
Dalam program C, adalah penting untuk memastikan input pengguna berada dalam format yang diharapkan, terutamanya semasa menjalankan operasi matematik. Artikel ini membincangkan cara untuk menentukan sama ada input yang diberikan oleh pengguna ialah integer. Jika input bukan integer, program akan menggesa pengguna untuk memasukkan semula integer yang sah.
Penyelesaian
Terdapat dua pendekatan utama untuk mengesahkan input pengguna sebagai integer:
1. Menggunakan cin.fail():
2. Menggunakan std::getline dan Manipulasi Rentetan:
Pelaksanaan
Di bawah ialah coretan kod yang melaksanakan std::getline dan manipulasi rentetan pendekatan:
#include <iostream> #include <string> int main() { std::string theInput; int inputAsInt; std::getline(std::cin, theInput); while(std::cin.fail() || std::cin.eof() || theInput.find_first_not_of("0123456789") != std::string::npos) { std::cout << "Error" << std::endl; if( theInput.find_first_not_of("0123456789") == std::string::npos) { std::cin.clear(); std::cin.ignore(256,'\n'); } std::getline(std::cin, theInput); } std::string::size_type st; inputAsInt = std::stoi(theInput,&st); std::cout << inputAsInt << std::endl; return 0; }
Kod ini secara berterusan menggesa pengguna untuk memasukkan integer sehingga integer yang sah dimasukkan. Ia mengendalikan situasi di mana pengguna memasukkan aksara bukan angka atau memberikan input kosong.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Input Pengguna Integer dengan Berkesan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!