Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Here is the output for the program. 2. Write a program that reads students\' nam

ID: 3627902 • Letter: H

Question

Here is the output for the program.

2. Write a program that reads students' name followed by their test scores. The program should output each student's name followed by the test scores and th relevant grade. It should also find and print the highest test score and the name of the students having the highest test score.Student data should be stored in a struct variable of type studentTyp, which has four components: studentFName and studentLName of type string, testScore of type int (testScore is between 0 and 100), and grade of type char Suppose that the class has 20 students. Use an array of 20 components of type studentType. Your program must contain at least the following fnctions:

a. A function to read the students' data into the array.

b. A function to assign the relevant grade to each student.

c. A functioin to find the highest test score.

d. A function to print the name of the students having the highest test score.

Your program must output each student's name in this from: last name followed by a comma, followed by a space, followed by the first name; the name must ne left justified. Moreover, other than declaring the variables and opening the input and output files, the function main should only be a collection of function calls.

here is the input

Duckey Donald 85
Goof Goofy 89
Brave Balto 93
Snow Smitn 93
Alice Wonderful 89
Samina Akthar 85
Simba Green 95
Donald Egger 90
Brown Deer 86
Johny Jackson 95
Greg Gupta 75
Samuel Happy 80
Danny Arora 80
Sleepy June 70
Amy Cheng 83
Shelly Malik 95
Chelsea Tomek 95
Angela Clodfelter 95
Allison Nields 95
Lance Norman 88

here is what the output file should look like.

Student Name           Test Score  Grade
Donald, Duckey               85      B
Goofy, Goof                  89      B
Balto, Brave                 93      A
Smitn, Snow                  93      A
Wonderful, Alice             89      B
Akthar, Samina               85      B
Green, Simba                 95      A
Egger, Donald                90      A
Deer, Brown                  86      B
Jackson, Johny               95      A
Gupta, Greg                  75      C
Happy, Samuel                80      B
Arora, Danny                 80      B
June, Sleepy                 70      C
Cheng, Amy                   83      B
Malik, Shelly                95      A
Tomek, Chelsea               95      A
Clodfelter, Angela           95      A
Nields, Allison              95      A
Norman, Lance                88      B

Highest Test Score: 95
Students having the highest test score:

Explanation / Answer

please rate - thanks

I cleaned up the previous posters code a bit, message me if any problems


#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
using namespace std;
const int NO_OF_STUDENTS =20;
struct studentType{
     string studentFName;
     string studentLName;
     int testScore;
     char grade;
};

void getData(studentType sList[],int listSize){
   ifstream inFile("students.txt");
   int count = 0;
    while ( count < listSize){
        inFile >>sList[count].studentLName >> sList[count].studentFName>> sList[count].testScore;
        count++;
       }
    inFile.close();
}

void calculateGrade(studentType sList[], int listSize){
for (int i = 0; i < listSize; i++){
      if (sList[i].testScore <= 59 ){
           sList[i].grade = 'F';
     }else if ( sList[i].testScore<= 69 ){
           sList[i].grade = 'D';
     }else if ( sList[i].testScore <= 79 ){
           sList[i].grade = 'C';
     }else if ( sList[i].testScore<= 89 ){
           sList[i].grade = 'B';
     }else{
            sList[i].grade = 'A';
          }
    }
}

int highestScore(const studentType sList[], int listSize){
int highscore =0;

for (int i = 0; i < listSize; i++){
   if (highscore < sList[i].testScore ){
       highscore =sList[i].testScore;
}
}
return highscore;
}

void printResult(const studentType sList[], int listSize){
ofstream outFile("studentsGrade.txt");
string name = "";

outFile << left << setw(30) <<"Student Name" << right << setw(10) << "TestScore" << right << setw(7) << "Grade" <<endl;

for (int i = 0; i < listSize; i++){
name = sList[i].studentLName + ", "+ sList[i].studentFName;

outFile << left <<setw(30) << name << right << setw(10) <<sList[i].testScore << right << setw(7) <<sList[i].grade << endl;
}

outFile << endl;

int highscore =highestScore(sList, listSize);

outFile << "Highest Test Score: " <<highscore << endl;
outFile << "Students having the highesttest score: " << endl;

for (int i = 0; i < listSize; i++){
if (sList[i].testScore == highscore ){
outFile <<sList[i].studentLName << ", " << sList[i].studentFName<< endl;
}
}
cout<<"Please see file studentsGrade.txt for the results. ";
outFile.close();
}

int main(){
studentType sList[NO_OF_STUDENTS];

getData(sList, NO_OF_STUDENTS);
calculateGrade(sList, NO_OF_STUDENTS);
printResult(sList, NO_OF_STUDENTS);
system("pause");
return 0;
}