I am having difficulty in showing the attendace mode (day, evening) for the student from the file I am reading from studentsDay.txt and studentsEvening.txt as I trying to output to the file called report_regular.txt
The following is an examples of what should be look like:
Code:
s1012 Bennet, Anne D 56.20 P
s1236 Bridges, Tony D 82.20 D
s2341 Butcher, Michael D 60.80 P
s5454 Sunshine, Joe E 78.40 D
s5466 White, Vanessa E 70.00 Cr
s5553 Sunder, Jim E 67.20 Cr
Code:
studentDay.txt is like:
s1012 Anne Bennet 45 77 62 18 79
s1236 Tony Bridges 81 83 89 95 63
s2341 Michael Butcher 72 83 48 26 75
Code:
studentEvening.txt is like:
s5454 Joe Sunshine 66 89 78 74 85
s5466 Vanessa White 62 77 44 88 79
s5553 Jim Sunder 66 74 48 53 95
Currently I can show the section of studentID, surname, givenname, average score and grade but not the D or E. I need to put the attendace mode between the givenname and average score. I have done this code without the D or E:
Code:
#include <fstream>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
ifstream inFileDay;
ifstream inFileEvening;
ofstream outFile;
string studentdayId;
string studenteveningId;
string givenname, surname;
int score1, score2, score3, score4, score5;
int studentcounter;
double Average;
inFileDay.open("studentsDay.txt");
inFileEvening.open("studentsEvening.txt");
outFile.open("report_regular.txt");
outFile.setf(ios::fixed, ios::floatfield);
outFile.setf(ios::showpoint);
outFile<<setprecision(2);
outFile<<endl<<"+++++Section 1 Student List+++++"<<endl<<endl;
while (!inFileDay.eof() )
{
inFileDay>>studentdayId;
outFile<<studentdayId<<" ";
inFileDay>>givenname>>surname;
outFile<<surname<<", ";
outFile<<givenname<<" ";
inFileDay>>score1>>score2>>score3>>score4>>score5;
Average=static_cast<double>(score1+score2+score3+score4+score5)/5.0;
outFile<<Average<<" ";
outFile.setf(ios::right);
if(Average>=85 && Average<=100)
outFile<<"HD "<<endl;
else if(Average>=75 && Average<=85)
outFile<<"D "<<endl;
else if(Average>=65 && Average<=75)
outFile<<"Cr "<<endl;
else if(Average>=55 && Average<=65)
outFile<<"P "<<endl;
else
outFile<<"F "<<endl;
studentcounter++;
}
while (!inFileEvening.eof() )
{
inFileEvening>>studenteveningId;
outFile<<studenteveningId<<" ";
inFileEvening>>givenname>>surname;
outFile<<surname<<", ";
outFile<<givenname<<" ";
inFileEvening>>score1>>score2>>score3>>score4>>score5;
Average=static_cast<double>(score1+score2+score3+score4+score5)/5.0;
outFile<<setw(2)<<Average<<" ";
outFile.setf(ios::right);
if(Average>=85 && Average<=100)
outFile<<"HD "<<endl;
else if(Average>=75 && Average<=85)
outFile<<"D "<<endl;
else if(Average>=65 && Average<=75)
outFile<<"Cr "<<endl;
else if(Average>=55 && Average<=65)
outFile<<"P "<<endl;
else
outFile<<"F "<<endl;
studentcounter++;
}
inFileDay.close();
inFileEvening.close();
outFile.close();
pause();
return EXIT_SUCCESS;
}
How can I show the D and E?