이전에 저는 C 프로그래머입니다. (시스템 프로그래밍에 대해 더 알고 싶지만 어셈블리를 선택하지 않으려 고 C를 선택합니다.)하지만 나중에 내 대학에서 C++을 가져야 만합니다. cin
및 cout
개체를 사용하는 데 어려움을 겪고 있습니다. 신뢰할 수있는 printf()
, scanf()
, getchar()
매크로와 비교하면 약간의 변경이 있습니다. 여기에 코드가 있습니다.cin 객체를 사용하여 입력 유효성 검사 및 버퍼 지우기 (C++)
강령
int main(void)
{
using namespace std;
cout << "What is the number?\n\n";
cout << "#Number :";
cin >> num;
while(cin.fail())
{
cin.clear();
cin.ignore(1000 , '\n');
cout << "Please enter a number\n\n";
cout << "#Number :";
cin >> num;
}
return 0;
}
[질문
1) 나는 미만의 사용자 (에서 번호를 요청하기 위해이 코드를 원하는 것보다 더 많거나 0과 같음), 사용자가 문자 또는 문자열을 입력 할 때 사용자에게 경고를 보내고 입력 버퍼를 지우고 사용자에게 새 값을 다시 묻기를 원합니다. 숫자가 될 때까지 e.
2.) 그래서 그냥 주위를 검색하고 페이지 설교 방법을 찾으십시오. 그래서 나는 단지 길을 따라 갔지만 실패했습니다. 왜 내가이 코드를 실행하면, 출력이 무한 루프가되는 문자를 입력해야하는지 모르겠다. Please enter a number
.이 코드에서 실수를 범한 것은 무엇입니까 ?? 내 문제
P를 읽는 시간을 보내는에 대한
감사/S : 저는는 MinGW 컴파일러와 CodeBlocks를 사용하고 있습니다.
어쨌든 원래 소스 코드에 선언 해 주셔서 감사합니다 :) 단지 여기에 줄을 추가하는 것을 잊어 버렸습니다. – caramel1995