Code:
//*****************************************************
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
//----------------------------------------------------
// FUNCTION PROTOTYPE(S)
void getJudgeData(double &, ifstream &);
void calcScore(double,double,double,double,double,ifstream &,string);
int findLowest(double,double,double,double,double);
int findHighest(double,double,double,double,double);
string contestantName(ifstream &);
//----------------------------------------------------
int main()
{
int i=0;
int i2=0;
double score,score1,score2,score3,score4,score5;
int contestantCount;
string name;
ifstream iFile("starsearch.dat");
if (iFile)
{
iFile>>contestantCount;
// For each contestant
while(i<contestantCount)
{
i2=0;
// For each contestants line (Name-5th score)
while(i2<6)
{
if(i2==0)
{
name=contestantName(iFile);
}
getJudgeData(score,iFile);
if(i2==1)
{
score1=score;
}
if(i2==2)
{
score2=score;
}
if(i2==3)
{
score3=score;
}
if(i2==4)
{
score4=score;
}
if(i2==5)
{
score5=score;
}
i2++;
}
calcScore(score1,score2,score3,score4,score5,iFile,name);
i++;
}
}
else
{
cout<<"Error: Error: File Could Not Be Opened.";
}
cout<<"\n";
// Pause for Ms. Thomas
system("Pause");
return 0;
}
//----------------------------------------------------
string contestantName(ifstream &fObject)
{
string name;
fObject>>name;
cout<<name<<"\n";
return name;
}
//----------------------------------------------------
void getJudgeData(double &score,ifstream &fObject)
{
fObject>>score;
cout<<score<<"\n";
}
//----------------------------------------------------
void calcScore(double score1,double score2,double score3,double score4,double score5,ifstream &,string name)
{
double average=0;
int lowest, highest;
ofstream oFile("results.dat");
if (oFile)
{
lowest=findLowest(score1,score2,score3,score4,score5);
highest=findHighest(score1,score2,score3,score4,score5);
if(lowest==1)
{
if(highest==2)
{
average=(score3+score4+score5)/3;
}
if(highest==3)
{
average=(score2+score4+score5)/3;
}
if(highest==4)
{
average=(score2+score3+score5)/3;
}
if(highest==5)
{
average=(score2+score3+score4)/3;
}
}
if(lowest==2)
{
if(highest==1)
{
average=(score3+score4+score5)/3;
}
if(highest==3)
{
average=(score1+score4+score5)/3;
}
if(highest==4)
{
average=(score1+score3+score5)/3;
}
if(highest==5)
{
average=(score1+score3+score4)/3;
}
}
if(lowest==3)
{
if(highest==1)
{
average=(score2+score4+score5)/3;
}
if(highest==2)
{
average=(score1+score4+score5)/3;
}
if(highest==4)
{
average=(score1+score2+score5)/3;
}
if(highest==5)
{
average=(score1+score2+score4)/3;
}
}
if(lowest==4)
{
if(highest==1)
{
average=(score1+score2+score5)/3;
}
if(highest==2)
{
average=(score1+score3+score5)/3;
}
if(highest==3)
{
average=(score1+score2+score5)/3;
}
if(highest==5)
{
average=(score1+score2+score3)/3;
}
}
if(lowest==5)
{
if(highest==1)
{
average=(score2+score3+score4)/3;
}
if(highest==2)
{
average=(score1+score3+score4)/3;
}
if(highest==3)
{
average=(score1+score2+score4)/3;
}
if(highest==4)
{
average=(score1+score2+score3)/3;
}
}
oFile<<name<<"="<<average<<"\n";
}
else
{
cout<<"Error: Error: File Could Not Be Opened.";
}
oFile.close();
}
//----------------------------------------------------
int findLowest(double score1,double score2,double score3,double score4,double score5)
{
double lowest=score1;
int indicator=1;
if(score2<lowest)
{
lowest=score2;
indicator=2;
}
if(score3<lowest)
{
lowest=score3;
indicator=3;
}
if(score4<lowest)
{
lowest=score4;
indicator=4;
}
if(score5<lowest)
{
lowest=score5;
indicator=5;
}
return indicator;
}
//----------------------------------------------------
int findHighest(double score1,double score2,double score3,double score4,double score5)
{
double highest=score1;
int indicator=1;
if(score2>highest)
{
highest=score2;
indicator=2;
}
if(score3>highest)
{
highest=score3;
indicator=3;
}
if(score4<highest)
{
highest=score4;
indicator=4;
}
if(score5<highest)
{
highest=score5;
indicator=5;
}
return indicator;
}
//*****************************************************