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

Thank you in advance. Wrire a C++ program that compares student grades for an as

ID: 3670886 • Letter: T

Question

Thank you in advance.

Wrire a C++ program that compares student grades for an assignment as a percentage given each student's score and the toral points. The final score should be rounded up to the nearest whole value using the ceil function in the 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 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 Toml in 44 60 Bird 45 60 The output of your program should look like this: Weens 83%.83333 Well Done Dale 85%.85000 Well Done Richards 95%.95000 Excellent Smith 60%.60000 Need Improvement Toml in 73%.73333 Good Bird 75%.75000 Good

Explanation / Answer

#include <iostream>
#include <fstream>
#include <math.h>
#include <iomanip>
using namespace std;
void print_name(string sname){
cout<<sname;
}
void compute(int score, int max_score){
double perc;
perc=score*100/max_score;
std::cout << std::setprecision(0)<<std::fixed;
cout<<" "<<ceil(perc)<<"%"<<" ";
std::cout << std::setprecision(5)<<std::fixed;
cout<<perc/100<<" ";
if (ceil(perc) > 90)
   cout << "Excellent";
else if (ceil(perc) >= 80)
   cout << "Well Done";
else if (ceil(perc) >= 70)
   cout << "Good";
else if (ceil(perc) >= 60)
   cout << "Needs Improvement";
else if (ceil(perc) < 50)
   cout << "Fail";

}
int main()
{
string sname;
int score,max_score;
ifstream fin;
    fin.open("stud_input.dat", ios::in);
       
   while(!fin.eof()){
   fin >> sname;
   fin >> score;
   fin >> max_score;
   if (!fin) break;
   print_name(sname);//function for printing student name
   compute(score, max_score);//function to compute percentage and comments
   cout<<" ";
  
   cout<<endl;
   }

fin.close();
return 0;
}

Output:

[oracle@rac1 ~]$ g++ stud.cpp
[oracle@rac1 ~]$ ./a.out
Weems 83% 0.83000 Well Done
Dale 85% 0.85000 Well Done
Richards 95% 0.95000 Excellent
Smith 60% 0.60000 Needs Improvement
Tomlin 73% 0.73000 Good
Bird 75% 0.75000 Good
[oracle@rac1 ~]$

Input file: stud_input.dat

Weems 50 60
Dale 51 60
Richards 57 60
Smith 36 60
Tomlin 44 60
Bird 45 60

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote