C BREAK UP THE FOLLOWING C PROGRAM INTO 3 VOID FUNCTIONS Fun

C++

BREAK UP THE FOLLOWING C++ PROGRAM INTO 3 VOID FUNCTIONS.

Function and output requirements: One function does input. One function computes the course GPA points in the array. One function computes the GPA. One function outputs to a file the student’s name, a table of the courses, grade received, course credits and GPA points earned, and finally, the student’s semester GPA.

#include <iostream>

#include <fstream>

#include <iomanip>

#include <string>

using namespace std;

int main()

{

   // File Identifiers

   fstream infile;

   ofstream outfile;

   // Open Input File

   infile.open(\"h:\\\\program4input.txt\");

   outfile << fixed << showpoint << setprecision(4);

   if (!infile)

   {

       cout<<\"Cannot Open!\"<<endl;

      return 0;

   }

   // Open Output File

   outfile.open(\"h:\\\\program4output.txt\");

   // Declare Variables & Arrays

   char courseNames [10][50];

   int courseData [10][3];

   string name;

   int i = 0;

   int sumGPA = 0, sumCourseCredits = 0;

   getline(infile, name);

  

   // While not end of file

   // Processing

   while(!infile.eof())

   {

       infile.get(courseNames[i], 50);

       infile >> courseData[i][0];

       infile >> courseData[i][1];

       if (courseData[i][0] >= 90)

           courseData[i][2] = 4;

       else if (courseData[i][0] >= 80)

           courseData[i][2] = 3;

       else if (courseData[i][0] >= 70)

           courseData[i][2] = 2;

       else if (courseData[i][0] >= 60)

           courseData[i][2] = 1;

       else

           courseData[i][2] = 0;

       sumCourseCredits += courseData[i][1];

       sumGPA += courseData[i][2];

       i++;

       infile.ignore(50, \'\ \');

   }

   int counter = i;

   outfile << name << endl;

   // Outfile formatting

   for (i = 0; i < counter; i++)

   {

       outfile << left << setw(20) << \"Course Name: \" << left << setw(30) << \"Course grade average: \" << left << setw(30) << \"Course GPA points: \" << left << setw(30) <<\"Course credit total: \" << endl;

       outfile << left << setw(20) << courseNames[i] << left << setw(30) << courseData[i][0] << left << setw(30) << courseData[i][1] << left << setw(30) << courseData[i][2] << endl;

   }

  

   // Calculate and output total GPA

   double totalGPA = (double)sumGPA / (double)sumCourseCredits;

   outfile << \"The students Semester GPA is as follows: \" << totalGPA << endl;

   // Close Files

   infile.close();

   outfile.close();

   system(\"pause\");

   return 0;

}

// Outfile

/*

Jon P. Washington, Jr.

Course Name: Course grade average: Course GPA points: Course credit total:

Computer Science I 81 4 3

Course Name: Course grade average: Course GPA points: Course credit total:

PreCalculus 75 3 2

Course Name: Course grade average: Course GPA points: Course credit total:

Biology I 88 5 3

Course Name: Course grade average: Course GPA points: Course credit total:

English II 100 3 4

Course Name: Course grade average: Course GPA points: Course credit total:

Psychology I 68 3 1

The students Semester GPA is as follows: 0.7222

*/

Solution

Hi, I have added all required functions.

Please test this program with data and let me know in case of any issue.

#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>

using namespace std;

// function declarations
void input(char courseNames[][50], int courseData[][3], string &name,int &counter);

void gpa(int courseData[][3], double &total, int counter);

void output(char courseNames[][50], int courseData[][3], string name, double totalGPA, int counter);


int main()
{
// Declare Variables & Arrays
char courseNames [10][50];
int courseData [10][3];
int counter;
string name;

// calling input methods
input(courseNames, courseData, name, counter);
  
//Calculate and output total GPA
double totalGPA;
gpa(courseData, totalGPA, counter);

//calling output function
output(courseNames, courseData, name, totalGPA, counter);
  
system(\"pause\");
return 0;
}

// function definations
// function declarations
void input(char courseNames[][50], int courseData[][3], string &name, int &counter){

// File Identifiers
ifstream infile;
int i = 0;

// Open Input File
infile.open(\"h:\\\\program4input.txt\");
if (!infile)
{
cout<<\"Cannot Open!\"<<endl;
exit(0);
}

getline(infile, name);

// While not end of file
// Processing
while(!infile.eof())
{
infile.get(courseNames[i], 50);
infile >> courseData[i][0];
infile >> courseData[i][1];

if (courseData[i][0] >= 90)
courseData[i][2] = 4;
else if (courseData[i][0] >= 80)
courseData[i][2] = 3;
else if (courseData[i][0] >= 70)
courseData[i][2] = 2;
else if (courseData[i][0] >= 60)
courseData[i][2] = 1;
else
courseData[i][2] = 0;

//sumCourseCredits += courseData[i][1];
//sumGPA += courseData[i][2];
i++;

infile.ignore(50, \'\ \');
}

// Close Files
infile.close();

}

void gpa(int courseData[][3], double &totalGPA, int counter){

int i = 0;
int sumGPA = 0, sumCourseCredits = 0;
while(i < counter)
{

if (courseData[i][0] >= 90)
courseData[i][2] = 4;
else if (courseData[i][0] >= 80)
courseData[i][2] = 3;
else if (courseData[i][0] >= 70)
courseData[i][2] = 2;
else if (courseData[i][0] >= 60)
courseData[i][2] = 1;
else
courseData[i][2] = 0;

sumCourseCredits += courseData[i][1];
sumGPA += courseData[i][2];
i++;
}

totalGPA = (double)sumGPA / (double)sumCourseCredits;
}

void output(char courseNames[][50], int courseData[][3], string name, double totalGPA, int counter){

ofstream outfile;

outfile << fixed << showpoint << setprecision(4);
// Open Output File
outfile.open(\"h:\\\\program4output.txt\");

outfile << name << endl;

// Outfile formatting
for (int i = 0; i < counter; i++)
{
outfile << left << setw(20) << \"Course Name: \" << left << setw(30) << \"Course grade average: \"
<< left << setw(30) << \"Course GPA points: \" << left << setw(30) <<\"Course credit total: \" << endl;
outfile << left << setw(20) << courseNames[i] << left << setw(30) << courseData[i][0] << left
<< setw(30) << courseData[i][1] << left << setw(30) << courseData[i][2] << endl;
}

outfile << \"The students Semester GPA is as follows: \" << totalGPA << endl;

// Close Files
outfile.close();

}

C++ BREAK UP THE FOLLOWING C++ PROGRAM INTO 3 VOID FUNCTIONS. Function and output requirements: One function does input. One function computes the course GPA po
C++ BREAK UP THE FOLLOWING C++ PROGRAM INTO 3 VOID FUNCTIONS. Function and output requirements: One function does input. One function computes the course GPA po
C++ BREAK UP THE FOLLOWING C++ PROGRAM INTO 3 VOID FUNCTIONS. Function and output requirements: One function does input. One function computes the course GPA po
C++ BREAK UP THE FOLLOWING C++ PROGRAM INTO 3 VOID FUNCTIONS. Function and output requirements: One function does input. One function computes the course GPA po
C++ BREAK UP THE FOLLOWING C++ PROGRAM INTO 3 VOID FUNCTIONS. Function and output requirements: One function does input. One function computes the course GPA po

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site