0
我對C++還很陌生(目前正在學習一門課程),我很接近完成我的最終項目。但是,在我的程序中,這些代碼行和其他代碼會導致我的程序在輸入兩次後才接受輸入。我花了2個小時重新輸入,仍然無濟於事。爲什麼這些代碼行導致我的程序在我輸入了兩次後才接受我的輸入(每次輸入後按Enter鍵)?
cout <<endl<< "Enter balance:"<<endl;
cin >> balance;
while(!(cin>>balance))
{
cin.clear();
cin.ignore(999,'\n');
cout<<endl<<"Invalid data type! Number expected. Please enter balance again:"<<endl;
}
因爲你要求「平衡」兩次?擺脫'cin >>平衡;'不在循環條件。 – NathanOliver
你的意思是從'cin'讀入兩次嗎?第一次進入循環之後,在上面的行中調用stdin的讀取權。 – Peri461