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

in C++ Given the Student struct: struct Student{ string fName; string lName; int

ID: 3589712 • Letter: I

Question

in C++

Given the Student struct:

struct Student{

string fName;

string lName;

int age;

float gpa;

float scores[NUM];//English, Mathematics, Biology

};

1.      Read student information from a file, named “Test.txt”, to an array of type Student. The file should contain the details of 20 students. The information of each student should be formatted as follows.

FirstName LastName Age Gpa

EnglishScore MathScore BiologyScore

(1).      Write a function to calculate the average English score of all students you get from the above file, and call the function from the main function. Then print the value in the main function. The prototype of the function is given as follows.

float AvgEnglish(Student s[], int numberOfStudents);

(2).      Write a function to return the full name of the student who got the highest score in the Biology class. The format of the full name should be the first name followed by the last name, separated by one space. Call this function from the main function and print the name of the student.

string BestStudentBiology(Student s[], int numberOfStudents);

Explanation / Answer

#include<iostream>
#include<string>
#include<fstream>

using namespace std;

#define NUM 3

struct Student {
   string fName;
   string lName;
   int age;
   float gpa;
   float scores[NUM];
   
};

float AvgEnglish(Student data[], int numberOfStudents){

    float sum;

    for (int i =0; i< numberOfStudents; i++){
          sum = sum + data[i].scores[0];
    }
    return sum/numberOfStudents;
}

string BestStudentBiology(Student data[], int numberOfStudents){

    float max;
    int index;

    max = data[0].scores[2];
    index = 0;
    for (int i =0; i< numberOfStudents; i++){
          if (data[i].scores[2] > max){
              max = data[i].scores[2];
              index = i;
          }
    }
    return data[index].fName + " " + data[index].lName;
}

int main(){


   ifstream fin;

   fin.open("Test.txt");
   if (!fin){
       cout << "Error opening file ";
       return 0;
   }
   Student data[20];

   for (int i = 0; i <= 20; i++){
       fin >> data[i].fName >> data[i].lName >> data[i].age >> data[i].gpa >> data[i].scores[0] >> data[i].scores[1] >> data[i].scores[2];
   }
   cout << "Average English score : " << AvgEnglish(data,20) << endl;
   cout << "Best Student Biology : " << BestStudentBiology(data,20) << endl;
   return 0;
}