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

// ****************************************************************** // // Grad

ID: 638679 • Letter: #

Question

 // ****************************************************************** // //  Grades.cpp // //  This program computes student grades. For each student, two //  quiz grades (graded on a 10 point basis), one midterm exam grade //  and one final exam grade (each on a 100 point basis) are read //  in. The final numeric grade is computed weighing the final //  exam 50%, the midterm 25%, and the quizzes 25%. The numeric //  grade and corresponding letter grade are output. // // ******************************************************************  #include <iostream>  using namespace std;  // // Structure for a student record //          // --------------------------------         // ----- ENTER YOUR CODE HERE -----         // --------------------------------           // --------------------------------         // --------- END USER CODE --------         // --------------------------------   void outputRecord (StudentRecord record) {     cout << endl;     cout << "Quiz Scores: " << record.quiz1 << "  " << record.quiz2 << endl;     cout << "Midterm Exam Score: " << record.midtermExam << endl;     cout << "Final Exam Score: " << record.finalExam << endl;     cout << endl;     cout << "Course Average: " << record.courseAverage << endl;     cout << "Final Letter Grade: " << record.letterGrade << endl;     cout << endl; }   void computeAverage (StudentRecord& record) {     const double EXAM_WT = 0.5;     const double MIDTERM_WT = 0.25;     const double QUIZ_WT = 0.25;     double quiz1Percent, quiz2Percent;      //     // Convert the 10 point quizzes to a percent, then find the average     //     quiz1Percent = 100 * record.quiz1 / 10.0;     quiz2Percent = 100 * record.quiz2 / 10.0;     double quizAvg = (quiz1Percent + quiz2Percent) / 2;      //     // Compute the weighted average to get the numeric course grade     //     record.courseAverage = quizAvg * QUIZ_WT +         record.midtermExam * MIDTERM_WT + record.finalExam * EXAM_WT;      //     // Call the letterGrade function to find the corresponding letter grade     record.letterGrade = letterGrade (record.courseAverage);  }    char letterGrade (double numericGrade) {     char letter;      if (numericGrade < 60)         letter = 'F';     else if (numericGrade < 70)         letter = 'D';     else if (numericGrade < 80)         letter = 'C';     else if (numericGrade < 90)         letter = 'B';     else         letter = 'A';      return letter; } 

Explanation / Answer

#include <iostream>
#include <math.h>
using namespace std;
//
// Structure for a student record
//
struct StudentRecord
{
double quiz1;
double quiz2;
double midtermExam;
double finalExam;
double courseAverage;
char letterGrade;
};
int main()
{
StudentRecord record;
cout << "Please Enter Your Grades Below" << endl << "Quiz One: ";
cin >> record.quiz1;
cout << "Quiz Two: ";
cin >> record.quiz2;
cout << endl;
cout << "Midterm Exam Score: ";
cin >> record.midtermExam;
cout << endl;
cout << "Final Exam Score: ";
cin >> record.finalExam;
cout << endl;
cout << "Quiz Scores: " << record.quiz1 << " " << record.quiz2 << endl;
cout << "Midterm Exam Score: " << record.midtermExam << endl;
cout << "Final Exam Score: " << record.finalExam << endl;
cout << endl;
cout << "Course Average: " << record.courseAverage << endl;
cout << "Final Letter Grade: " << record.letterGrade << endl;
cout << endl;
}
char letterGrade (double numericGrade)
{
char letter;
if (numericGrade < 60)
letter = 'F';
else if (numericGrade < 70)
letter = 'D';
else if (numericGrade < 80)
letter = 'C';
else if (numericGrade < 90)
letter = 'B';
else
letter = 'A';
return letter;
}
void computeAverage (StudentRecord& record)
{
const double EXAM_WT = 0.5;
const double MIDTERM_WT = 0.25;
const double QUIZ_WT = 0.25;
double quiz1Percent, quiz2Percent;
//
// Convert the 10 point quizzes to a percent, then find the average
//
quiz1Percent = 100 * record.quiz1 / 10.0;
quiz2Percent = 100 * record.quiz2 / 10.0;
double quizAvg = (quiz1Percent + quiz2Percent) / 2;
//
// Compute the weighted average to get the numeric course grade
//
record.courseAverage = quizAvg * QUIZ_WT + record.midtermExam * MIDTERM_WT +
record.finalExam * EXAM_WT;
//
// Call the letterGrade function to find the corresponding letter grade
record.letterGrade = letterGrade (record.courseAverage);
exit(1);
}