2017-03-11 11 views
0

저는 기본적인 질문을합니다. 콘솔을 실행하고 숫자를 입력하는 동안 옵션을 선택하는 "메뉴"유형 프로그램에서 프로그램이 문자를 실행하지 못하게하는 방법이 있습니까? 단계를 수행하고 데이터를 탐색 할 수 있습니다.어떻게 입력을 숫자로만 제한 할 수 있습니까? C++

내 프로그램은 정보를 검토, 변경, 추가 또는 삭제할 수있는 서적 카탈로그입니다.

상황은 나쁘지는 않지만 문자 나 숫자가 아닌 문자를 입력하면 프로그램이 엉망이되어 붙어 있습니다.

내 문제를 없애기 위해 범용 명령이 있어야한다고 생각하기 때문에 코드를 추가하지 않습니다. 코드를 EN으로 변환하는 데 시간이 좀 걸릴 것입니다. 응용 프로그램이 콘솔에서 실행 당신은 아마 당신이해야 입력하지 숫자로,하지만 같은 잘못된 (비 번호) 입력에 대해 고민하는 경우에 당신의 대답을 기대

, 좋은 하루를

답변

0

가장 쉬운 방법은 생각하는 getline 함수를 사용하는 것입니다. 대신 cin >> num; 예를 들어 getline (cin, value); 여기서 "value"는 입력을 저장하는 문자열입니다. 그런 다음 num = atoi (value.c_str()); 문자열 입력을 정수 값으로 "num"에 저장합니다. "num"이 float 인 경우 atoi 대신 atof를 사용하십시오. 이 방법은 문자열이 숫자가 아닌 경우 값을 0으로 설정합니다. num 문을 0으로 설정하면 if 문을 사용하여 오류 메시지를 표시 할 수 있습니다. 도움이 되길 바랍니다. 행운을 빕니다!

0

이 텍스트를 읽은 다음 구문 분석하여 실제로 숫자임을 확인합니다. 그렇지 않은 경우 사용자에게 입력 내용이 잘못되었다고 말하고 다시 입력하십시오.

+0

팁 주셔서 감사합니다. <3 – pindutis