사용자 입력의 정수 유효성 검사
제공된 C 코드에서 목표는 사용자로부터 두 개의 정수를 읽는 프로그램을 개발하는 것입니다. 그리고 이에 대해 기본적인 수학 연산을 수행합니다. 그러나 중요한 고려 사항이 있습니다: 사용자가 유효한 정수를 입력했는지 확인하는 방법.
입력이 정수인지 확인하려면 cin.fail() 함수를 활용할 수 있습니다. 입력이 유효하면 false를 반환하고, 유효하지 않거나 숫자가 아닌 문자가 포함되어 있으면 true를 반환합니다.
유효한 정수 확인
다음 코드 조각은 다음 방법을 보여줍니다. 두 정수에 대한 사용자 입력의 유효성을 확인합니다.
int firstvariable, secondvariable; cin >> firstvariable; if (cin.fail()) { // Not an integer; handle appropriately } cin >> secondvariable; if (cin.fail()) { // Not an integer; handle appropriately }
입력이 유효하지 않은 경우 오류 처리 필요합니다. 여기에는 메시지 표시, 입력 스트림 지우기, 사용자에게 올바른 정수를 입력하라는 다시 묻는 메시지가 포함될 수 있습니다.
잘못된 입력 처리
유효한 정수가 입력되면 입력이 유효성 검사를 통과할 때까지 계속되는 루프를 구현할 수 있습니다.
while (cin.fail()) { // Clear the input stream cin.clear(); // Ignore the invalid input cin.ignore(256, '\n'); // Re-prompt the user for a valid integer cout << "Please enter a valid integer: "; // Retry the input cin >> firstvariable; }
이 루프에서, 입력 스트림이 지워지고 잘못된 입력이 무시되며 사용자에게 유효한 정수를 입력하라는 메시지가 표시됩니다.
예
다음 코드는 다음과 같은 완전한 예를 제공합니다. 유효한 정수 입력을 확인하고 잘못된 입력을 처리합니다.
#include <iostream> using namespace std; int main() { int firstvariable, secondvariable; cout << "Please enter two integers: "; cin >> firstvariable; while (cin.fail()) { cin.clear(); cin.ignore(256, '\n'); cout << "Invalid input. Please enter a valid integer: "; cin >> firstvariable; } cin >> secondvariable; while (cin.fail()) { cin.clear(); cin.ignore(256, '\n'); cout << "Invalid input. Please enter a valid integer: "; cin >> secondvariable; } // Perform mathematical operations on the valid integers return 0; }
위 내용은 C에서 유효한 정수 입력을 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!