-1

-1 を使用して終了する必要がありますが、それでも概要を表示します。私が試してプログラムを終了させるたびに、先に進んで要約を表示しません。試行回数は 10 回までです。10 回分の情報がなく、8 回で停止したい場合は、-1 を入力すると、概要が表示され、プログラムが終了します。

while(i<10)
{
    do
    {
    cout << "Enter result """ << i+1 << """ (or -1 if no more results): ";
    cin >> score[i];
    if(score[i] >=0 && score[i] <=49)
    {
        cout << "Grade " << "U" << " will be assigned to this result\n";
        bool test=true;
        i++;
    }
    else if(score[i] >=50&& score[i] <=59)
    {
        cout << "Grade " << "P" << " will be assigned to this result\n";
        bool test=true;
        i++;
    }
    else if(score[i] >=60 && score[i] <=69)
    {
        cout << "Grade " << "C" << " will be assigned to this result\n";
        bool test=true;
        i++;
    }
    else if(score[i] >=70 && score[i] <=89)
    {
        cout << "Grade " << "B" << " will be assigned to this result\n";
        bool test=true;
        i++;
    }
    else if(score[i] >=90 && score[i] <=100)
    {
        cout << "Grade " << "A" << " will be assigned to this result\n";
        bool test=true;
        i++;
    }
    else
    {
        test=false;
        cout << "Invalid Input!\n";
    }
    }
    while(test);
}



cout << "\nSummary of the results:\n";
for(int a=0;a< 10;a++)
{
std::cout <<  std::fixed << std::setprecision(2) << "Result " << a+1 << " "  << score[a] << " Grade " << determine_grade(score[a]) << "\n";
}

cout << "\nThe average of the results = " << calc_average(score) << "\n";
cout << "The lowest of the results = " << find_lowest(score) << "\n";
cout << "The highest of the results = " << find_highest(score) << "\n";
system("Pause");
4

2 に答える 2

0

2 つのループは必要なく、1 つだけです。2 つの条件を 1 つに結合する必要がありますi<10 && test

また、間違った場所でテスト変数を宣言しました。ループの最初で一度宣言する必要があります。

bool test = true;
while(i<10 && test)
{
    cout << "Enter result """ << i+1 << """ (or -1 if no more results): ";
    if(score[i] >=0 && score[i] <=49)
    {
        cout << "Grade " << "U" << " will be assigned to this result\n";
        i++;
    }
    ...
    else
    {
        test=false;
        cout << "Invalid Input!\n";
    }
}
于 2013-11-10T10:05:20.470 に答える