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

Write a program to generate a report based on input received from a text file. S

ID: 3684871 • Letter: W

Question

Write a program to generate a report based on input received from a text file. Suppose the input text file student_status.txt contains the student's name (lastName, firstName middleName) and average as follows: Using the test file that is provided on Blackboard, generate the output in the following format, exactly: The program must be written to use the enum letter_grade, defined as follows: and define two namespace globalTypes (tenPoint and sevenPoint) for the function : The function deriveGrade should derive the letter_grade of the student based on the student's average. The first namespace globalType tenPoint should derive the class level based on a ten point grading scale and the second namespace globalType sevenPoint should derive the class level based on a seven point grading scale. The scales are provided below The program output must follow the format and layout used in the sample output given below: Sample output when running with namespace tenPoint: Sample output when running with namespace sevenPoint:

Explanation / Answer

//grades1.cpp
//include header file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
//create enumeration type
enum letter_grade { A,B,C,D,F };
//create a variable grade of enum type letter_grade
letter_grade grade;

//tenPoint namespace declaration that has deriveGrade method
namespace tenPoint
{

   letter_grade deriveGrade(double average)
   {
       if (average >=90)
       {
           grade = A;      
       }
       else if(average >=80)
       {
           grade = B;      
       }
       else if(average >=70)
       {
           grade = C;      
       }
       else if(average >=60)
       {
           grade = D;      
       }
       else
       {
           grade = F;      
       }

       return grade;
   }
}
//sevenPoint namespace declaration that has deriveGrade method
namespace sevenPoint
{

   letter_grade deriveGrade(double average)
   {
       if (average >=93)
       {
           grade = A;      
       }
       else if(average >=85)
       {
           grade = B;      
       }
       else if(average >=77)
       {
           grade = C;      
       }
       else if(average >=70)
       {
           grade = D;      
       }
       else
       {
           grade = F;      
       }

       return grade;
   }
}

//case -1
//using tenPoint as namespace
int main()
{
   string name;
   double average;
   int i;  
   char grade=' ';

   //open an input file stream
   ifstream transferSchoolFile;
   transferSchoolFile.open("student_status.txt", ios::in);


   //check if file exists or not
   if (transferSchoolFile.fail()){
       cerr << "Error opening file" << endl;
       exit(1);

   }

   for (i = 0; i < 4; i++)
   {

       getline(transferSchoolFile, name);
       transferSchoolFile >> average;
       transferSchoolFile.ignore();
      
       //call the method deriveGrade with average score
       switch(deriveGrade(average))
       {
       case 0:
           grade='A';
           break;
       case 1:
           grade='B';
           break;
       case 2:
           grade='C';
           break;
       case 3:
           grade='D';
           break;
       case 4:
           grade='F';
           break;
       }

       //print name, average and grade letter
       cout << name << " " << average <<" "<<grade<<endl;
   }

   //pause the program output on console
   system("pause");
   return 0;
}


sample output:
Doe, John K. 93.2 A
Andrews, Susan S. 84.7 B
Monroe, Marylin 75.1 C
Gaston, Arthur C. 62.8 D

------------------------------------------------------------------------------------------------------------------------------------------
Replace the namespace tenPoint with sevenPoint
//grades2.cpp
//include header file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
//create enumeration type
enum letter_grade { A,B,C,D,F };
//create a variable grade of enum type letter_grade
letter_grade grade;

//tenPoint namespace declaration that has deriveGrade method
namespace tenPoint
{

   letter_grade deriveGrade(double average)
   {
       if (average >=90)
       {
           grade = A;      
       }
       else if(average >=80)
       {
           grade = B;      
       }
       else if(average >=70)
       {
           grade = C;      
       }
       else if(average >=60)
       {
           grade = D;      
       }
       else
       {
           grade = F;      
       }

       return grade;
   }
}
//sevenPoint namespace declaration that has deriveGrade method
namespace sevenPoint
{

   letter_grade deriveGrade(double average)
   {
       if (average >=93)
       {
           grade = A;      
       }
       else if(average >=85)
       {
           grade = B;      
       }
       else if(average >=77)
       {
           grade = C;      
       }
       else if(average >=70)
       {
           grade = D;      
       }
       else
       {
           grade = F;      
       }

       return grade;
   }
}

//case -2
//using sevenPoint as namespace
using namespace sevenPoint;
int main()
{
   string name;
   double average;
   int i;  
   char grade=' ';

   //open an input file stream
   ifstream transferSchoolFile;
   transferSchoolFile.open("student_status.txt", ios::in);


   //check if file exists or not
   if (transferSchoolFile.fail()){
       cerr << "Error opening file" << endl;
       exit(1);

   }

   for (i = 0; i < 4; i++)
   {

       getline(transferSchoolFile, name);
       transferSchoolFile >> average;
       transferSchoolFile.ignore();
      
       //call the method deriveGrade with average score
       switch(deriveGrade(average))
       {
       case 0:
           grade='A';
           break;
       case 1:
           grade='B';
           break;
       case 2:
           grade='C';
           break;
       case 3:
           grade='D';
           break;
       case 4:
           grade='F';
           break;
       }

       //print name, average and grade letter
       cout << name << " " << average <<" "<<grade<<endl;
   }

   //pause the program output on console
   system("pause");
   return 0;
}


Sample output:
Doe, John K. 93.2 A
Andrews, Susan S. 84.7 C
Monroe, Marylin 75.1 D
Gaston, Arthur C. 62.8 F

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