컴퓨터 과학 수업을위한 첫 번째 C++ 프로그램을 마쳤으며 딜레마에 빠져 있습니다. 문제는이 while 루프 문 내이며 이렇게되면 :정수 변수로 while 루프를 통해 유한 입력 값을 읽음
나는이 원하지 않는 행동을 얻을 명령 프롬프트에 기본적으로int main()
{
int answer;
while(!(std::cin >> answer)) // runs until number is read
{
std::cin.clear();
std::cin.ignore();
std::cin >> answer;
}
// rest of code
return 0;
}
:
사용자 입력 :
Q
(5)
처음 다섯 번째 (첫 번째 숫자)를 읽었을 때 프로그램이 끝났어야했으나 그렇지 않아 다시 작동하도록 입력하라는 메시지가 나타납니다.
'ignore' (매개 변수없이)는 한 문자 만 무시합니다. 당신은 아마'std :: cin.ignore (somenumber, '\ n');'와 같은 것을 원할 것입니다. –
while 루프 내부의 모든 것을 다시 생각해 볼 필요가 있다고 생각합니다. –
사람이 편지를 입력하면 작동하지 않기 때문에 반복하고 싶습니다. – TakShing