Answer to Question #293445 in C++ for Terry Washington

Question #293445

Write a program to calculate students' average test scores and their grades. You may assume the following input data:

Johnson          85       83       77       91       76

 Aniston           80       90       95       93       48

Cooper                78          81          11          90          73

Gupta                  92          83          96          38          59

Blair                      23          45          96          38          59

Clark                     60          85          45          39          67

Kennedy             77          31          52          74          83

Bronson              93          94          89          77          97

Sunny                  79          85          28          93          82

Smith                   85          72          49          75          63

 

Use four arrays: a one-dimensional array to store the students' names, a (parallel) two-dimensional array to store the


1
Expert's answer
2022-02-03T08:04:32-0500
#include <iostream>
#include <string>
using namespace std;
const int N_TESTS=5;
const int N_STUDENTS=10;


void CalcAverageScore(int scores[N_STUDENTS][N_TESTS], int averages[N_STUDENTS]) 
{
    for (int i=0; i<N_STUDENTS; i++) {
        int sum = 0;
        for (int j=0; j<N_TESTS; j++) {
            sum += scores[i][j];
        }
        averages[i] = sum / N_TESTS;
    }
}


void SetGrades(int averages[N_STUDENTS], char grades[N_STUDENTS]) 
{
    for (int i=0; i<N_STUDENTS; i++) {
        if (averages[i] >= 80)
            grades[i] = 'A';
        else if (averages[i] >= 65)
            grades[i] = 'B';
        else if (averages[i] >= 55)
            grades[i] = 'C';
        else if (averages[i] >= 50)
            grades[i] = 'D';
        else
            grades[i] = 'F';
    }
}


void PrintTestResults(string names[N_STUDENTS], int scores[N_STUDENTS][N_TESTS], 
                      int averages[N_STUDENTS], char grades[N_STUDENTS])
{
    cout << "Names" << "     Test results    " 
         << " Avrg " << "Grade" << endl;
    for (int i=0; i<N_STUDENTS; i++) {
        cout << names[i] << "\t ";
        for (int j=0; j<N_TESTS; j++) {
            cout << scores[j][i] << " ";
        }
        cout << " :  " << averages[i] << " ";
        cout << "   " << grades[i] << endl;
    }


}                      


int main() {
    string names[N_STUDENTS] = {"Johnson", "Aniston", "Cooper", "Gupta", "Blair",
                                "Clark", "Kennedy", "Bronson", "Sunny", "Smith"};
    int scores[N_STUDENTS][N_TESTS]  = {{85, 83, 77, 91, 76},
                                        {80, 90, 95, 93, 48},
                                        {78, 81, 11, 90, 73},
                                        {92, 83, 96, 38, 59},
                                        {23, 45, 96, 38, 59},
                                        {60, 85, 45, 39, 67},
                                        {77, 31, 52, 74, 83},
                                        {93, 94, 89, 77, 97},
                                        {79, 85, 28, 93, 82},
                                        {85, 72, 49, 75, 63}};
    int averages[N_STUDENTS];
    char grades[N_STUDENTS];


    CalcAverageScore(scores, averages);
    SetGrades(averages, grades);
    PrintTestResults(names, scores, averages, grades);


    return 0;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog