1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
|
//Program Assignment 6
//Thomas Powe 4-12-12
//CS207
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cmath>
#include <stdlib.h>
using namespace std;
class Grade
{
private:
int ID;
int Exam;
double test1, test2, test3;
double program1, program2, program3, program4;
double labquiz1, labquiz2, labquiz3, labquiz4, labquiz5;
double lqavg, pavg, tavg;
double cg;
public:
//Grade();
void SetData(ifstream &);
void setID(int id);
void setExam(int exam);
void setLabquiz(double lq1, double lq2, double lq3, double lq4, double lq5, double lq);
void setTest(double t1, double t2, double t3, double t);
void setProg(double p1, double p2, double p3, double p4, double p);
void CalcCourseGrade();
double GetCourseGrade()
{return cg;}
void printResults(ofstream &OutputFile);
//~Grade();
};
void Grade::SetData(ifstream &infile)
{
infile>>ID;
infile>>Exam;
infile>>test1>>test2>>test3;
infile>>program1>>program2>>program3>>program4;
infile>>labquiz1>>labquiz2>>labquiz3>>labquiz4>>labquiz5;
return;
}
void Grade::setID(int id)
{
ID=id;
return;
}
void Grade::setExam(int exam)
{
Exam=exam;
return;
}
void Grade::setLabquiz(double lq1, double lq2, double lq3, double lq4, double lq5, double lq)
{
labquiz1=lq1;
labquiz2=lq2;
labquiz3=lq3;
labquiz4=lq4;
labquiz5=lq5;
lqavg=lq;
return;
}
void Grade::setTest(double t1, double t2, double t3, double t)
{
test1=t1;
test2=t2;
test3=t3;
tavg=t;
return;
}
void Grade::setProg(double p1, double p2, double p3, double p4, double p)
{
program1=p1;
program2=p2;
program3=p3;
program4=p4;
pavg=p;
return;
}
void Grade::CalcCourseGrade()
{
cg=(Exam+tavg+pavg+lqavg)/4.0;
return;
}
void Grade::printResults(ofstream &OutputFile)
{
OutputFile<<setw(13)<<ID<<setw(13)<<Exam<<setw(18)<<cg<<endl<<endl;
return;
}
//Function Prototypes Go Here
void printHeadings(ofstream &OutputFile);
double labquizavg(double labquiz1, double labquiz2, double labquiz3, double labquiz4, double labquiz5);
double progavg(double program1, double program2, double program3, double program4);
double testavg(double test1, double test2, double test3);
int main()
{
Grade g;
ofstream OutputFile;
OutputFile.open("Output.dat");
ifstream infile;
infile.open("Input.dat");
OutputFile<<fixed<<showpoint<<setprecision(1)<<endl;
printHeadings(OutputFile);
g.SetData(infile);
while(!infile.eof())
{
tavg=testavg(test1, test2, test3);
pavg=progavg(program1, program2, program3, program4);
lqavg=labquizavg(labquiz1, labquiz2, labquiz3, labquiz4, labquiz5);
g.setExam(exam);
g.setTest(t1, t2, t3, t);
g.setProg(p1, p2, p3, p4, p);
g.setLabquiz(lq1, lq2, lq3, lq4, lq5, lq);
g.CalcCourseGrade();
g.GetCourseGrade();
g.printResults(OutputFile);
g.SetData(infile);
}
OutputFile.close();
infile.close();
return 0;
}
//Function Definitions Go Here
void printHeadings(ofstream &OutputFile)
{
OutputFile<<setw(33)<<"Grade Calculator"<<endl<<endl;
OutputFile<<setw(30)<<"Thomas Powe"<<endl;
OutputFile<<setw(29)<<"04-12-12"<<endl<<endl;
OutputFile<<setw(13)<<"ID"<<setw(13)<<"Exam"<<setw(18)<<"Course Grade"<<endl<<endl;
return;
}
double labquizavg(double labquiz1, double labquiz2, double labquiz3, double labquiz4, double labquiz5)
{
double lqavg;
lqavg=(labquiz1+labquiz2+labquiz3+labquiz4+labquiz5)/5.0;
return lqavg;
}
double progavg(double program1, double program2, double program3, double program4)
{
double pavg;
pavg=(program1+program2+program3+program4)/4.0;
return pavg;
}
double testavg(double test1, double test2, double test3)
{
double tavg;
tavg=(test1+test2+test3)/3.0;
return tavg;
}
|