Computes student grades for an assignment as a percentage gi
•Computes student grades for an assignment as a percentage given each student’s score and the total points.
•The final scores should be rounded up to the nearest whole value using the ceil function in the <cmath> header file.
•You should also display the floating-point result up to 5 decimal places.
•You should have a function to print the last name of the student and another function to compute and print the percentage as well as “Excellent” if the grade is greater than 90, “Well Done” if the grade is greater than 80, “Good” if the grade is greater than 70, “Need Improvement” if the grade is greater than or equal to 60, and “Fail” if the grade is less than 50.
•The main function is responsible for reading the input file and passing the appropriate arguments to your function.
Solution
// C++ code performance evaluator
#include <iostream>
#include <iomanip>
#include <cmath>
#include <fstream>
using namespace std;
void result(double GradePercent)
{
GradePercent = GradePercent*100;
if (GradePercent > 90)
{
cout << \" Excellent\" << endl;
}
else if (GradePercent > 80)
{
cout << \" Well Done\" << endl;
}
else if (GradePercent > 70)
{
cout << \" Good\" << endl;
}
else if (GradePercent >= 60)
{
cout << \" Need Improvement\" << endl;
}
else
{
cout << \" Fail\" << endl;
}
}
int main ()
{
//input variables
string name;
double score;
double totalPoints;
double GradePercent;
ifstream infile;
// open file
infile.open (\"grades.txt\");
while(!infile.eof())
{
infile >> name;
infile >> score;
infile >> totalPoints;
GradePercent = score/totalPoints;
cout << name << \" \" << ceil(GradePercent*100) << \"% \" << setprecision(5) << GradePercent;
result(GradePercent);
}
infile.close();
return 0;
}
/*
grades.txt
Weems 50 60
Dale 51 60
Richards 57 60
Smith 36 60
Tomlin 44 60
Bird 45 60
output:
Weems 84% 0.83333 Well Done
Dale 85% 0.85000 Well Done
Richards 95% 0.95000 Excellent
Smith 60% 0.60000 Need Improvement
Tomlin 74% 0.73333 Good
Bird 75% 0.75000 Good
*/

