Question: this is my current code i cant seem to get it to: Your program should be able to read from a file the above data

this is my current code i cant seem to get it to:

Your program should be able to read from a file the above data into an one-dimensional array and sort it by the students name in an ascending order. And also the record office would like to have a sorted class list for each class, freshman, sophomore, junior, and senior. (use an array of objects of a class). Send the output to a file. Use overload i/o operators. Print out the following: A. The sorted master list with the average GPA of the entire college. B. The freshman list with the average GPA of the freshmen. C. The sophomore list with the average GPA of the sophomores. D. The junior list with the average GPA of the juniors. E. The senior list with the average GPA of the seniors. please answer accordingly to what i have asked

#include

#include

#include

using namespace std;

class Student{

public:

Student(){}

friend ifstream& operator >>(ifstream &input, Student& student);

friend ostream& operator <<(ostream &output, const Student& student);

public:

string name;

string level;

double Gpa;

};

ifstream& operator>>(ifstream &input, Student& student){

input>> student.name>> student.level>> student.Gpa;

return input;

}

ostream& operator <<(ostream &output, const Student& student){

output << student.name<< " ";

output << student.level<< " ";

output<< student.Gpa<< " ";

return output;

}

int main() {

//reading txt file

int i;

Student a;

Student myArray[25];

ifstream myfile("College.txt");

i=0;

string line;

getline(myfile,line);

if (myfile.is_open()) {

while(myfile>>a){

myArray[i]=a;

i++;

}

for (i=0;i<25;i++){

cout<

}

myfile.close(); }

else { cout<<"file is not open"<<' ';

}

//gpa

double sum=0;

for (int i=0;i<25;i++){

sum=sum+ myArray[i].Gpa;

}

double avg=sum/25;

cout<< "class avg: " <

//sort accending

Student temp;

int length=25;

int j;

for(i=0;i<25;i++)

{

for (j=i+1;j<25;j++){

if (myArray[i].name>myArray[j].name)

{

temp=myArray[i];

myArray[i]=myArray[j];

myArray[j]=temp;

}

}} for (i=0;i<25;i++){

cout<

}

]

(text file )

NAME STANDING GPA

Williams,Leonard Freshman 1.85

Smith,Sheila Senior 2.99

Anderson,Andy Sophomore 3.01

Wiser,Bud Freshman 4.00

Robertson,Jully Junior 2.78

Koran,Korn Junior 3.50

Smith,Sam Junior 2.14

Johnson,Jim Junior 3.05

Johnson,Jane Junior 3.75

Potter,Pam Senior 2.98

Brown,Bill Sophomore 2.55

Crooks,Cathy Freshman 1.99

Gregg,Howard Senior 2.44

Nicholas,Judy Senior 3.69

White,Bob Sophomore 1.64

Walsh,Fred Junior 4.00

Dennis,Susan Junior 2.06

Roberts,Rachel Sophomore 4.00

Fredericks,Mary Freshman 2.89

Holmes,Wendy Senior 2.56

Green,Barbara Sophomore 3.67

Brown,David Freshman 2.00

Williamson,Walt Sophomore 2.95

Carson,Jim Sophomore 2.03

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!