我有一個while語句不停地重複文本而不給用戶輸入另一個值的機會。我究竟做錯了什麼?它仍然沒有要求輸入。我需要代碼來顯示文本一次,然後要求輸入。據推測,如果您鍵入除1之外的任何內容,則會重複該順序。但是,因爲它代表它只是踢你出循環,而不糾正行動的機會(由於上一次編輯,見下文)。雖然語句不會停止
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
錯字,它是行動= 0; – user2626532
你有沒有試過,getline(cin,action); – btse