I think I have the functions right but I can't figure out how to get the average or lowest time and highest total score. I'd appreciate any hints.
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class RacingData
{
public:
RacingData();
RacingData(string rn, int sc, int min, int sec);
RacingData operator+(const RacingData& a);
int score, minutes, seconds;
string racerName;
void printRacingData();
friend ostream& operator << (ostream& theStream, RacingData& raceInfo);
};
RacingData::RacingData(string rn, int sc, int min, int sec)
{
racerName = rn;
score = sc;
minutes = min;
seconds = sec;
}
RacingData::RacingData()
{
racerName = " ";
score = 0;
minutes = 0;
seconds = 0;
}
void RacingData::printRacingData()
{
cout << racerName << " " << score << " " << minutes << ":" << seconds << "\n";
}
RacingData RacingData::operator +(const RacingData &a)
{
RacingData obj = RacingData();
if (racerName == a.racerName)
{
obj.racerName = racerName;
}
obj.score = score + a.score;
obj.minutes = minutes + a.minutes;
obj.seconds = seconds + a.seconds;
if (obj.seconds >= 60)
{
obj.minutes += obj.seconds / 60;
obj.seconds = obj.seconds % 60;
}
return obj;
}
int main()
{
RacingData dPRace1("Danica Patrick", 185, 11, 20);
RacingData dPRace2("Danica Patrick", 103, 11, 30);
RacingData dPRace3("Danica Patrick", 73, 12, 40);
RacingData dPRace4;
RacingData jGRace1("Jeff Gordon", 155, 10, 10);
RacingData jGRace2("Jeff Gordon", 127, 11, 15);
RacingData jGRace3("Jeff Gordon", 34, 12, 35);
RacingData jGRace4;
cout << "Average Scores:\n";
dPRace4 = dPRace1 + dPRace2 + dPRace3;
jGRace4 = jGRace1 + jGRace2 + jGRace3;
dPRace4.printRacingData();
jGRace4.printRacingData();
int i;
cin>>i;
return 0;
}
The way I have it set now I am able to print the totals for each racer, but thats not what I need.

New Topic/Question
Reply


MultiQuote





|