// FILENAME: dogclass.h // ** PRECONDITION: in order for file to be "readable", // the racing program is cut down to one race, & all of the // 2-digit nums in one-eigth & stretch must be truncated // and the race header is also removed. // RACE STRUCTURE Holds the 1 line of information for a dog #ifndef __DOGCLASS_H__ #define __DOGCLASS_H__ #include "list2.h" // Provides List Data Struct // *((**(*((** DOG CLASS **(**(((*(**( // must use the setspeed() method to set the avg_time variable for the dog // void calculate(void); // POSTCONDITION: Avg time, early speed, and // front/back runner info is calculated class Dog { public: Dog::Dog(char *name, List dograces); Dog::Dog(const Dog &source); Dog::~Dog(); int grade(void) { return effective_grade; } char curform(void) { return form; } float closingspeed(void) { return closing; } char runstyle(void) { return style; } char runpref(void) { return inout; } float oneeigth(void) { return avg_oneeigth; } int earlyspeed(void) { return early_speed; } void setinout(char let) { inout = let; } void setstyle(char let) { style = let; } void setcharge(float num) { closing = num; } // *** necessary !!! ********* void setspeed(float num) {avg_time = num; } void operator =(const Dog &source); private: void calculate(void); void geteffgrade(void); void calcstyle(float early_speed); void calcform(void); // dog-specific data char *dogname; int effective_grade; char form, style, inout; float avg_time; int early_speed; float avg_oneeigth,avg_finish,closing; // race-specific data List races(); // creates a dynamic list of races for this dog }; #endif