나는 사용자가 다른 값을 입력 할 필요없이 텍스트를 반복해서 유지하는 while 문을 사용합니다. 내가 도대체 뭘 잘못하고있는 겁니까? 여전히 입력을 요구하지 않습니다. 텍스트를 한 번 표시 한 다음 입력을 요청하는 코드가 필요합니다. 아마도 1을 입력 했더라면 1을 반복 할 것입니다. 단순히 그것을 의미 조치를 정정 할 수있는 기회없이 루프의 당신을 맞이할하지만 (마지막 편집로, 아래를 참조하십시오.)While 문이 중지되지 않습니다.
int action = 0;
while (action != 1)
{
cout << " No you must look it might be dangerous" << endl;
cin >> action;
}
한 가지 제안을했다 :
while (action != 1)
{
cout << " No you must look it might be dangerous" << endl;
cin >> action;
cin.ignore();
}
그 여전히 반복해서 텍스트를 생성합니다.
while (action != 1)
{
cout << " No you must look it might be dangerous" << endl;
if (!(cin >> action))
// ...problems in the I/O stream...
break;
}
새로운 동작을 입력 할 수있는 기회입니다.
'동작'은 어디에 정의되어 있습니까? – user2357112
Typo, 동작 = 0입니다. – user2626532
시도해 보셨습니까? getline (cin, action); – btse