1

指定されたオブジェクトが選択の最後にないことを最初に確認する Play() 関数 (メディア プレーヤー タイプの再生のように考える) を作成しようとしています (そうである場合、ユーザーは巻き戻しを求められます)。 .)

IsCAtEnd() という bool 関数があります。Cが最後にあるかどうかを調べることになっています。今、私はその中に次のようなものを持っています:

bool AC::IsCAtEnd()
{
CAtEnd = (CurrentSelect == NumOfSelect)
if (CAtEnd)
{return true;}
else
{return false;}
}

私の Play() 関数には、次のようなものがあります –</p>

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;
}

コンパイルして実行しますが、私が望むほどではありません。1 つには、最後の選択を入力すると (C には 6 つの選択があり、最後の選択を再生したいとします)、巻き戻すように指示されます。代わりに、その選択を再生し、次に Play が呼び出されたときに巻き戻しを指示するようにします (最後に Play が呼び出されたとき、それは最後の選択であったことを思い出してください)。また、ユーザーがそうするまで巻き戻しを促し続けたいと思っています (そのため、再生を再度呼び出したり、別の選択を選択したり、その選択を再生したりする必要はありません)。

最後の選択が行われた場合、再生後に CAtEnd 変数が true に変更されるようにする必要があることはわかっています。そうすれば、次回は巻き戻す必要があると表示されます。私はそれを行う方法がわかりません。

4

2 に答える 2

2

どんな選択でも最初にプレイしたいと思います。次に、それが最後のものかどうかを確認します。それが最後のものである場合は、巻き戻しメッセージが表示されます。それ以外の場合は何もしません。

このように変更できます

if(currentSelection <= NumberOfSelection)
{
     cout << “Playing “ << CurrentSelection << endl;
}

If (IsCAtEnd())
{
     cout << “You need to rewind first.” << endl;
}
于 2012-12-20T03:12:46.860 に答える
0

プログラムを継続的に実行し、巻き戻しメッセージを表示するときにユーザー入力を使用する場合は、while ループを使用できます。

    int Choice;    
    cout << Enter Selection to Play: “;
    cin >> Choice;

    while(choice != 0)
    {

         CurrentSelection = Choice;

         if(currentSelection <= NumberofSelection)
             cout << “Playing “ << CurrentSelection << endl;

        if (IsCAtEnd())
        {
            cout << “You need to rewind first.” << endl;
            cout << Enter Selection to Play: “;
            cin >> Choice;
        }
}
于 2012-12-20T03:55:25.400 に答える