我正在嘗試創建一個Play()函數(想像一個媒體播放器類型的播放),首先檢查以確保給定的對象不在其選擇的末尾(如果它是,用戶會被告知倒帶。)用Bool函數確定結尾
我有一個稱爲IsCAtEnd()的bool函數。它應該找出C是否在最後。現在我在它是這樣的:
bool AC::IsCAtEnd()
{
CAtEnd = (CurrentSelect == NumOfSelect)
if (CAtEnd)
{return true;}
else
{return false;}
}
在我玩()函數我有這樣的事情 -
void AC::Play()
{
int Choice;
cout << Enter Selection to Play: 「;
cin >> Choice;
CurrentSelection = Choice;
If (IsCAtEnd())
{
cout << 「You need to rewind first.」 << endl;
}
else
{
cout << 「Playing 「 << CurrentSelection << endl;
}
它編譯和運行,但並不像我想它太。首先,如果我輸入最後一個選擇(說C有6個選擇,我想播放最後一個),它會告訴我倒帶。 取而代之的是,我希望它能夠播放該選擇,並且在下一次播放被叫做要求倒帶時(回想上次播放被調用時,它在最後一個選擇中)。我也希望它繼續提示用戶倒帶,直到他們這樣做(所以不要再打電話,選擇不同的選擇並讓選擇發揮作用)。
我知道我需要這樣做,所以如果最後一個選擇被放入,CAtEnd變量在播放後更改爲true。這樣下一次它會說它需要被重新卷繞。我不知道該怎麼做。
你的整個'IsCAtEnd '功能花了我幾分鐘的時間來解析我的想法。 '返回CurrentSelect == NumOfSelect;'是非常容易理解的。 – chris
你的CAtEnd是IsCAtEnd()函數?它應該是bool CAtEnd?克里斯說,這個功能的主體只需要一行。 –
將代碼更改爲該代碼。 是的CAtEnd是一個變量聲明在類'布爾CAtEnd' 清除後的功能,我想我應該使用這個變量繼續倒帶提示我想? – Rowahood