사용자가 예상 한 것과 다른 데이터를 입력 할 때 런타임 오류를 처리하는 데 문제가 있습니다. 예를 들어 정수가 필요하지만 사용자가 문자열을 입력하는 경우 일 수 있습니다. 내 콘솔 프로그램에서, 이런 일이 생기면 화면에 정크가 많이 생기고 무한 루프가됩니다. 어떻게하면 전체 프로그램이 휴지통으로 이동하는 대신 오류 메시지가 표시 될 수 있도록 처리 할 수 있습니까?C++에서 런타임 오류를 잡는 방법?
int x = 0;
cout << "\n\nEnter a number(1-9): ";
cin >> x;
if(x<1 || x>9)
{
cout<<"\nThe place you entered is invalid. Please enter the correct place number";
}else{
cout<<"Correct";
}
제가 31^2 또는 그것은 무한 루프가는 char 값 (I는 nt 데이터의 최대 값을 알고)보다 위의 숫자를 입력 한 경우. 어떻게하면이 문제를 해결할 수 있습니까?
다음은 중복 된 주소입니다 : http://stackoverflow.com/questions/545907/what-is-the-best-way-to-do-input-validation-in-c-with-cin –