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

1. 30 points Write a C++ program that computes student grades for an assignment

ID: 3665918 • Letter: 1

Question

1. 30 points Write a C++ program that computes student grades for an assignment as a percentage given each student’s score and the total points. The final score should be rounded up to the nearest whole value using the celi function in the <math> 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 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 functions. Here is an example of what the input file might look like:

Weems 50 60 Dale 51 60 Richards 57 60 Smith 36 60 Tomlin 44 60 Bird 45 60 - The output of your program should look like:
Weems 83% .83333 Well Done Dale 85% .85000 Well Done Richards 95% .95000 Excellent Smith 60% .60000 Need Improvement Tomlin 73% .73333 Good Bird 75% .75000 Good 1. 30 points Write a C++ program that computes student grades for an assignment as a percentage given each student’s score and the total points. The final score should be rounded up to the nearest whole value using the celi function in the <math> 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 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 functions. Here is an example of what the input file might look like:

Weems 50 60 Dale 51 60 Richards 57 60 Smith 36 60 Tomlin 44 60 Bird 45 60 - The output of your program should look like:
Weems 83% .83333 Well Done Dale 85% .85000 Well Done Richards 95% .95000 Excellent Smith 60% .60000 Need Improvement Tomlin 73% .73333 Good Bird 75% .75000 Good 1. 30 points Write a C++ program that computes student grades for an assignment as a percentage given each student’s score and the total points. The final score should be rounded up to the nearest whole value using the celi function in the <math> 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 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 functions. Here is an example of what the input file might look like:

Weems 50 60 Dale 51 60 Richards 57 60 Smith 36 60 Tomlin 44 60 Bird 45 60 - The output of your program should look like:
Weems 83% .83333 Well Done Dale 85% .85000 Well Done Richards 95% .95000 Excellent Smith 60% .60000 Need Improvement Tomlin 73% .73333 Good Bird 75% .75000 Good

Explanation / Answer

#include <iostream>
#include <fstream>
#include <cmath>
#include <string>
#include <iomanip>
using namespace std;


void OpenFile(ifstream& grades);
void Grades(ifstream &, float&, float&, float&, float&, float &);
int main()
{
ifstream grades;
float grade1, grade2, gradesum, finalgrade, gradepercentage;
grades.open("grades.dat");

Grades(grades, grade1, grade2, gradesum, finalgrade, gradepercentage);
return 0;
}

void OpenFile(ifstream& grades)
{
ifstream grades;
grades.open("grades.dat");
string name;
getline(grades, name);
}

void Grades(ifstream& grades, float& grade1, float& grade2, float& gradesum, float& finalgrade, float& gradepercentage)
{
int x;
x=0;
ifstream grades;
grades.open("grades.dat");
string name;
while (x<6)
{
cin >> name >> grade1 >> grade2;
gradesum= grade1+2;
finalgrade=gradesum / 120;
gradepercentage = finalgrade * 100;
cout << name << " " << gradepercentage << "% " << finalgrade;
x++;
}
system("pause");
}