Answer:
This C++ program considers scores as follows
A>=90
B>=80
C>=70
D>=60
F<60
You must have a text file for input data
Here is the program as per the question
#include<iostream>
#include<fstream>
#include<string>
#include<stdlib.h>
using namespace std;
//Definition
class student
{
private:
string names[80];
int testscores[80][50];
char grades[80];
int count;
public:
void GetData();
void Average();
void PrintResult();
};
void student::GetData()
{
ifstream in;
in.open("student1.txt",ios::in);
if(in.fail()) //test if the file exist
{
cout<<"Unable to open the file";
exit(0);
}
count=0;
while(!in.eof())
{
in>>names[count]; //read name
for(int i=0;i<5;i++) // assume 5there are 5 test scores
{
in>>testscores[count][i]; //read scores .
}
count++;
}
count--;
}
void student::Average()
{
float sum,avg;
for(int i=0;i<count;i++)
{
sum=0.00;
for(int j=0;j<5;j++)
{
sum=sum+testscores[i][j];
}
avg=sum/5;
if(avg>=90.00)
grades[i]='A';
else if(avg>=80)
grades[i]='B';
else if(avg>=70)
grades[i]='C';
else if(avg>=60)
grades[i]='D';
else
grades[i]='F';
}
}
void student::PrintResult()
{
for(int i=0;i<count;i++)
{
cout.setf(ios::left,ios::adjustfield);
cout.width(10);
cout<<endl<<names[i];
cout.setf(ios::right,ios::adjustfield);
for(int j=0;j<5;j++)
{
cout.width(5);
cout<<testscores[i][j];
}
cout.width(5);
cout<<grades[i];
}
}
int main()
{
student obj;
obj.GetData();
obj.Average();
obj.PrintResult();
return 0;
}