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

How to modify this code to read the grades from a local file called \"mygrades.t

ID: 3696720 • Letter: H

Question

How to modify this code to read the grades from a local file called "mygrades.txt"

#include <iostream>

#include <cstring>

using namespace std;

class Grade{

public:

void getExercises();

void getClickers();

void getLabs();

void getTraces();

void getAssignments();

void getTests();

void getPrefinal();

void getFinal();

void displayTotals();

private:

int total = 0;

int Recieve =0;

};

void Grade::getExercises(){

int grade = 0;

int counter = 1;

int adder = 0;

int total = 0;

  

cout <<"GRADE CALCULATION"<< endl;

do{

  cout <<"Enter textbook exercise #"<< counter << " (out of 10 points): ";

cin >> grade;

counter++;

  if(grade == -1){

break;

}

  else{

adder += grade;

total += 10;

}

  }while(counter != 13);

  cout << adder <<" out of " << total <<" points for textbook grade" << endl << endl;

  Recieve += adder;

this -> total += total;

}

void Grade::getClickers(){

int grade =0;

int i = 0;

string months[4]= {"January", "February", "March", "April"};

int adder = 0;

int total = 0;

  do{

  cout <<"Enter clicker grade for "<< months[i] << " (out of 30 points): ";

cin >> grade;

i++;

  if(grade == -1){

break;

}

  else{

adder += grade;

total += 30;

}

  }while(i != 5);

  cout << adder <<" out of " << total <<" points for clicker grade" << endl << endl;

  Recieve += adder;

this -> total += total;

}

void Grade::getLabs(){

int grade = 0;

int counter = 1;

int adder = 0;

int total = 0;

int points = 25;

  

  do{

if (counter == 5){

cout <<"Enter Lab " << counter <<" grade (out of 20 points extra credit): ";

}

else{

cout <<"Enter Lab "<< counter << " grade (out of "<

   }

cin >> grade;

counter++;

if(grade == -1){

break;

}

  else{

adder += grade;

if(counter == 5){

}

else{

total += points;

}

}

  points += 10;

if ( counter >= 4){

points = 45;

}

  }while((counter != 8) && (grade !=-1));

  cout << adder <<" out of " << total <<" points for lab grade" << endl << endl;

  Recieve += adder;

this -> total += total;

}

void Grade::getTraces(){

int grade = 0;

int counter = 1;

int adder = 0;

int total = 0;

  do{

  cout <<"Enter Trace "<< counter<<" grade (out of 2 points): ";

cin >> grade;

counter++;

  if(grade == -1){

break;

}

  else{

adder += grade;

total += 2;

}

  }while(counter != 13);

  cout << adder <<" out of " << total <<" points for trace grade" << endl << endl;

  Recieve += adder;

this -> total += total;

}

void Grade::getAssignments(){

int grade = 0;

int counter = 1;

int adder = 0;

int total = 0;

  do{

  cout <<"Enter assignment #"<< counter << " (out of 10 points): ";

cin >> grade;

counter++;

  if(grade == -1){

break;

}

  else{

adder += grade;

total += 10;

}

  }while(counter != 15);

  cout << adder <<" out of " << total <<" points for assignment grade" << endl << endl;

  Recieve += adder;

this -> total += total;

}

void Grade::getTests(){

int grade = 0;

int counter = 1;

int adder = 0;

int total = 0;

int points = 30;

  do{

  cout <<"Enter Test #"<< counter << " (out of "<< points <<" points): ";

cin >> grade;

counter++;

  

if(grade == -1){

break;

}

  else{

adder += grade;

total += points;

}

   points += 30;

}while(counter != 4);

  cout << adder <<" out of " << total <<" points for test grade" << endl << endl;

  

Recieve += adder;

this -> total += total;

}

void Grade::getPrefinal(){

int grade = 0;

int add = 26;

  cout << "Enter pre-final (out of "<< add <<" points): ";

cin >> grade;

  if ( grade == -1 ){

grade = 0;

add = 0;

}

cout << grade <<" out of " << add <<" points for pre final" << endl << endl;

   Recieve += grade;

   this -> total += add;

}

void Grade::getFinal(){

int grade = 0;

int Add = 90;

  for (int i = 0; i < 1; ++i)

cout << "Enter Final (out of "<< Add <<" points): ";

cin >> grade;

  if ( grade == -1 ){

grade = 0;

Add = 0;

}

cout << grade <<" out of " << Add <<" points for final" << endl << endl;

   Recieve += grade;

   this -> total += Add;

}

void Grade::displayTotals(){

int percentage= 0;

string grade;

percentage = (static_cast(Recieve)/total) * 100;

  

if (percentage >= 94)

grade ="A";

if ((percentage >= 90)&&(percentage <= 93))

grade ="A-";

  

if ((percentage >= 88)&&(percentage <= 89))

grade ="B+";

  

if ((percentage >= 84)&&(percentage <= 87))

grade ="B";

  

if ((percentage >= 80)&&(percentage <= 83))

grade ="B-";

  

if ((percentage >= 78)&&(percentage <= 79))

grade ="C+";

  

if ((percentage >= 70)&&(percentage <= 77))

grade ="C";

  

if ((percentage >= 60)&&(percentage <= 69))

grade ="D";

  

if (percentage < 60)

grade ="F";

  

cout <<"TOTAL: "<

}

int main() {

Grade gradeMe;

gradeMe.getExercises();

gradeMe.getClickers();

gradeMe.getLabs();

gradeMe.getTraces();

gradeMe.getAssignments();

gradeMe.getTests();

gradeMe.getPrefinal();

gradeMe.getFinal();

gradeMe.displayTotals();

  

}

Explanation / Answer

Here is the modified code for you:

#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
class Grade{
public:
void getExercises(ifstream &);
void getClickers(ifstream &);
void getLabs(ifstream &);
void getTraces(ifstream &);
void getAssignments(ifstream &);
void getTests(ifstream &);
void getPrefinal(ifstream &);
void getFinal(ifstream &);
void displayTotals(ifstream &);
private:
int total = 0;
int Recieve =0;
};
void Grade::getExercises(ifstream &fin){
int grade = 0;
int counter = 1;
int adder = 0;
int total = 0;
  
cout <<"GRADE CALCULATION"<< endl;
do{
cout <<"Enter textbook exercise #"<< counter << " (out of 10 points): ";
fin >> grade;
counter++;
if(grade == -1){
break;
}
else{
adder += grade;
total += 10;
}
}while(counter != 13);
cout << adder <<" out of " << total <<" points for textbook grade" << endl << endl;
Recieve += adder;
this -> total += total;
}
void Grade::getClickers(ifstream &fin){
int grade =0;
int i = 0;
string months[4]= {"January", "February", "March", "April"};
int adder = 0;
int total = 0;
do{
cout <<"Enter clicker grade for "<< months[i] << " (out of 30 points): ";
fin >> grade;
i++;
if(grade == -1){
break;
}
else{
adder += grade;
total += 30;
}
}while(i != 5);
cout << adder <<" out of " << total <<" points for clicker grade" << endl << endl;
Recieve += adder;
this -> total += total;
}
void Grade::getLabs(ifstream &fin){
int grade = 0;
int counter = 1;
int adder = 0;
int total = 0;
int points = 25;
  
do{
if (counter == 5){
cout <<"Enter Lab " << counter <<" grade (out of 20 points extra credit): ";
}
else{
cout <<"Enter Lab "<< counter << " grade (out of "<
}
fin >> grade;
counter++;
if(grade == -1){
break;
}
else{
adder += grade;
if(counter == 5){
}
else{
total += points;
}
}
points += 10;
if ( counter >= 4){
points = 45;
}
}while((counter != 8) && (grade !=-1));
cout << adder <<" out of " << total <<" points for lab grade" << endl << endl;
Recieve += adder;
this -> total += total;
}
void Grade::getTraces(ifstream &fin){
int grade = 0;
int counter = 1;
int adder = 0;
int total = 0;
do{
cout <<"Enter Trace "<< counter<<" grade (out of 2 points): ";
fin >> grade;
counter++;
if(grade == -1){
break;
}
else{
adder += grade;
total += 2;
}
}while(counter != 13);
cout << adder <<" out of " << total <<" points for trace grade" << endl << endl;
Recieve += adder;
this -> total += total;
}
void Grade::getAssignments(ifstream &fin){
int grade = 0;
int counter = 1;
int adder = 0;
int total = 0;
do{
cout <<"Enter assignment #"<< counter << " (out of 10 points): ";
fin >> grade;
counter++;
if(grade == -1){
break;
}
else{
adder += grade;
total += 10;
}
}while(counter != 15);
cout << adder <<" out of " << total <<" points for assignment grade" << endl << endl;
Recieve += adder;
this -> total += total;
}
void Grade::getTests(ifstream &fin){
int grade = 0;
int counter = 1;
int adder = 0;
int total = 0;
int points = 30;
do{
cout <<"Enter Test #"<< counter << " (out of "<< points <<" points): ";
fin >> grade;
counter++;
  
if(grade == -1){
break;
}
else{
adder += grade;
total += points;
}
points += 30;
}while(counter != 4);
cout << adder <<" out of " << total <<" points for test grade" << endl << endl;
  
Recieve += adder;
this -> total += total;
}
void Grade::getPrefinal(ifstream &fin){
int grade = 0;
int add = 26;
cout << "Enter pre-final (out of "<< add <<" points): ";
fin >> grade;
if ( grade == -1 ){
grade = 0;
add = 0;
}
cout << grade <<" out of " << add <<" points for pre final" << endl << endl;
Recieve += grade;
this -> total += add;
}
void Grade::getFinal(ifstream &fin){
int grade = 0;
int Add = 90;
for (int i = 0; i < 1; ++i)
cout << "Enter Final (out of "<< Add <<" points): ";
fin >> grade;
if ( grade == -1 ){
grade = 0;
Add = 0;
}
cout << grade <<" out of " << Add <<" points for final" << endl << endl;
Recieve += grade;
this -> total += Add;
}
void Grade::displayTotals(ifstream &fin){
int percentage= 0;
string grade;
percentage = (static_cast(Recieve)/total) * 100;
  
if (percentage >= 94)
grade ="A";
if ((percentage >= 90)&&(percentage <= 93))
grade ="A-";
  
if ((percentage >= 88)&&(percentage <= 89))
grade ="B+";
  
if ((percentage >= 84)&&(percentage <= 87))
grade ="B";
  
if ((percentage >= 80)&&(percentage <= 83))
grade ="B-";
  
if ((percentage >= 78)&&(percentage <= 79))
grade ="C+";
  
if ((percentage >= 70)&&(percentage <= 77))
grade ="C";
  
if ((percentage >= 60)&&(percentage <= 69))
grade ="D";
  
if (percentage < 60)
grade ="F";
  
cout <<"TOTAL: "<
}
int main() {
Grade gradeMe;
ifstream fin;
fin.open("mygrades.txt");
gradeMe.getExercises(fin);
gradeMe.getClickers(fin);
gradeMe.getLabs(fin);
gradeMe.getTraces(fin);
gradeMe.getAssignments(fin);
gradeMe.getTests(fin);
gradeMe.getPrefinal(fin);
gradeMe.getFinal(fin);
gradeMe.displayTotals(fin);
  
}

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