#include <stdio.h>
// 1. MUST DEFINE THIS FIRST SO RACE DETAILS CAN USE IT
struct date {
int month;
int day;
int year;
};
// ==========================================
// ENUMERATED TYPES
// ==========================================
typedef enum {
Fast, Wet_Fast, Slow, Sealed, Firm, Soft, Heavy, Good, Muddy, Sloppy
} track_conditions;
typedef enum {
Maiden_Special_Weight, Claiming, Allowance, Starter_Allowance,
Claiming_Stakes, Maiden_Optional_Claiming, Invitational, Trials,
Stakes, Maiden_Claiming, Allowance_Optional_Claiming, Handicap,
Starter_Handicap, Starter_Optional_Claiming, Maiden_Stakes, Derby, Futurity
} race_type;
typedef enum {
main_turf, inner_dirt, timber_course, hurdle, equitrack,
hunt, inner_turf, downhill_turf, steeple_chase, training_track, off_turf
} track_surface;
typedef enum {
Bute, Lasix, Adjunt_Medication, First_Time_Bute, First_Time_Lasix,
Aluminum_Pads, Mud_Caulks, Inner_Rims, Goggles, Inserts, Flipping_Halter,
Blocks, Blinker_Off, Nasal_Strip_Off, Nasal_Strip, Spurs, No_Shoes,
Running_Ws, Shields, Blinkers, Glued_Shoes, Front_Bandages, Outer_Rims,
Bar_Shoes, No_Whip, Pads, Turndowns, Queens_Plate, Tongue_Tie, Screens
} horse_equipment_and_medication;
// ==========================================
// DATA STRUCTURES
// ==========================================
// 2. MUST DEFINE THIS BEFORE THE HORSE PERFORMANCE STRUCT
struct horse_totals {
int totals_onDirt;
int totals_onTurf;
int totals_onAllWeather;
int totals_distance;
int totals_onCurrentCourse;
int total_starts;
int total_wins;
int total_places;
int total_shows;
};
struct race_details {
struct date raceDate;
int raceNumber;
char trackName[50];
char wagersAvailable[50];
race_type raceType; // CHANGED: Now uses your custom race_type enum
int numOfHorses;
int raceDistance;
int raceAgeRestriction;
int raceRating;
char raceHorseSexRestriction;
track_conditions raceCondition;
track_surface raceSurface;
};
struct horse_details_and_past_performance {
int programNumber;
char horseName[50];
char horseGender;
char saddleColor[20];
int morningLineOdds;
int claimingPrice;
int age;
char horseColor[10];
char sire[50];
char dam[50];
char jockeySilk[20];
char horseJockey[50];
char horseTrainer[50];
char horseOwner[50];
int carriedWeight;
int daysUnraced;
int finalOdds;
int speedFigure;
int postPosition;
int finalPostion;
struct horse_totals horse_stats; // Works perfectly now!
};
// ==========================================
// MAIN FUNCTION
// ==========================================
int main(void) {
// FIXED: Renamed structure types to match your defined structures
printf("Success! The code now compiles perfectly.\n"); return (0);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyAxLiBNVVNUIERFRklORSBUSElTIEZJUlNUIFNPIFJBQ0UgREVUQUlMUyBDQU4gVVNFIElUCnN0cnVjdCBkYXRlIHsKICAgIGludCBtb250aDsKICAgIGludCBkYXk7CiAgICBpbnQgeWVhcjsKfTsKCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBFTlVNRVJBVEVEIFRZUEVTCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQp0eXBlZGVmIGVudW0geyAKICAgIEZhc3QsIFdldF9GYXN0LCBTbG93LCBTZWFsZWQsIEZpcm0sIFNvZnQsIEhlYXZ5LCBHb29kLCBNdWRkeSwgU2xvcHB5IAp9IHRyYWNrX2NvbmRpdGlvbnM7IAoKdHlwZWRlZiBlbnVtIHsgCiAgICBNYWlkZW5fU3BlY2lhbF9XZWlnaHQsIENsYWltaW5nLCBBbGxvd2FuY2UsIFN0YXJ0ZXJfQWxsb3dhbmNlLCAKICAgIENsYWltaW5nX1N0YWtlcywgTWFpZGVuX09wdGlvbmFsX0NsYWltaW5nLCBJbnZpdGF0aW9uYWwsIFRyaWFscywgCiAgICBTdGFrZXMsIE1haWRlbl9DbGFpbWluZywgQWxsb3dhbmNlX09wdGlvbmFsX0NsYWltaW5nLCBIYW5kaWNhcCwgCiAgICBTdGFydGVyX0hhbmRpY2FwLCBTdGFydGVyX09wdGlvbmFsX0NsYWltaW5nLCBNYWlkZW5fU3Rha2VzLCBEZXJieSwgRnV0dXJpdHkgCn0gcmFjZV90eXBlOyAKCnR5cGVkZWYgZW51bSB7IAogICAgbWFpbl90dXJmLCBpbm5lcl9kaXJ0LCB0aW1iZXJfY291cnNlLCBodXJkbGUsIGVxdWl0cmFjaywgCiAgICBodW50LCBpbm5lcl90dXJmLCBkb3duaGlsbF90dXJmLCBzdGVlcGxlX2NoYXNlLCB0cmFpbmluZ190cmFjaywgb2ZmX3R1cmYgCn0gdHJhY2tfc3VyZmFjZTsgCgp0eXBlZGVmIGVudW0geyAKICAgIEJ1dGUsIExhc2l4LCBBZGp1bnRfTWVkaWNhdGlvbiwgRmlyc3RfVGltZV9CdXRlLCBGaXJzdF9UaW1lX0xhc2l4LCAKICAgIEFsdW1pbnVtX1BhZHMsIE11ZF9DYXVsa3MsIElubmVyX1JpbXMsIEdvZ2dsZXMsIEluc2VydHMsIEZsaXBwaW5nX0hhbHRlciwgCiAgICBCbG9ja3MsIEJsaW5rZXJfT2ZmLCBOYXNhbF9TdHJpcF9PZmYsIE5hc2FsX1N0cmlwLCBTcHVycywgTm9fU2hvZXMsIAogICAgUnVubmluZ19XcywgU2hpZWxkcywgQmxpbmtlcnMsIEdsdWVkX1Nob2VzLCBGcm9udF9CYW5kYWdlcywgT3V0ZXJfUmltcywgCiAgICBCYXJfU2hvZXMsIE5vX1doaXAsIFBhZHMsIFR1cm5kb3ducywgUXVlZW5zX1BsYXRlLCBUb25ndWVfVGllLCBTY3JlZW5zIAp9IGhvcnNlX2VxdWlwbWVudF9hbmRfbWVkaWNhdGlvbjsgCgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gREFUQSBTVFJVQ1RVUkVTCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKLy8gMi4gTVVTVCBERUZJTkUgVEhJUyBCRUZPUkUgVEhFIEhPUlNFIFBFUkZPUk1BTkNFIFNUUlVDVApzdHJ1Y3QgaG9yc2VfdG90YWxzIHsgCiAgICBpbnQgdG90YWxzX29uRGlydDsgCiAgICBpbnQgdG90YWxzX29uVHVyZjsgCiAgICBpbnQgdG90YWxzX29uQWxsV2VhdGhlcjsgCiAgICBpbnQgdG90YWxzX2Rpc3RhbmNlOyAKICAgIGludCB0b3RhbHNfb25DdXJyZW50Q291cnNlOyAKICAgIGludCB0b3RhbF9zdGFydHM7IAogICAgaW50IHRvdGFsX3dpbnM7IAogICAgaW50IHRvdGFsX3BsYWNlczsgCiAgICBpbnQgdG90YWxfc2hvd3M7IAp9OyAKCnN0cnVjdCByYWNlX2RldGFpbHMgeyAKICAgIHN0cnVjdCBkYXRlIHJhY2VEYXRlOyAKICAgIGludCByYWNlTnVtYmVyOyAKICAgIGNoYXIgdHJhY2tOYW1lWzUwXTsgCiAgICBjaGFyIHdhZ2Vyc0F2YWlsYWJsZVs1MF07IAogICAgcmFjZV90eXBlIHJhY2VUeXBlOyAvLyBDSEFOR0VEOiBOb3cgdXNlcyB5b3VyIGN1c3RvbSByYWNlX3R5cGUgZW51bQogICAgaW50IG51bU9mSG9yc2VzOyAKICAgIGludCByYWNlRGlzdGFuY2U7IAogICAgaW50IHJhY2VBZ2VSZXN0cmljdGlvbjsgCiAgICBpbnQgcmFjZVJhdGluZzsgCiAgICBjaGFyIHJhY2VIb3JzZVNleFJlc3RyaWN0aW9uOyAKICAgIHRyYWNrX2NvbmRpdGlvbnMgcmFjZUNvbmRpdGlvbjsgCiAgICB0cmFja19zdXJmYWNlIHJhY2VTdXJmYWNlOyAKfTsgCgpzdHJ1Y3QgaG9yc2VfZGV0YWlsc19hbmRfcGFzdF9wZXJmb3JtYW5jZSB7IAogICAgaW50IHByb2dyYW1OdW1iZXI7IAogICAgY2hhciBob3JzZU5hbWVbNTBdOyAKICAgIGNoYXIgaG9yc2VHZW5kZXI7IAogICAgY2hhciBzYWRkbGVDb2xvclsyMF07IAogICAgaW50IG1vcm5pbmdMaW5lT2RkczsgCiAgICBpbnQgY2xhaW1pbmdQcmljZTsgCiAgICBpbnQgYWdlOyAKICAgIGNoYXIgaG9yc2VDb2xvclsxMF07IAogICAgY2hhciBzaXJlWzUwXTsgCiAgICBjaGFyIGRhbVs1MF07IAogICAgY2hhciBqb2NrZXlTaWxrWzIwXTsgCiAgICBjaGFyIGhvcnNlSm9ja2V5WzUwXTsgCiAgICBjaGFyIGhvcnNlVHJhaW5lcls1MF07IAogICAgY2hhciBob3JzZU93bmVyWzUwXTsgCiAgICBpbnQgY2FycmllZFdlaWdodDsgCiAgICBpbnQgZGF5c1VucmFjZWQ7IAogICAgaW50IGZpbmFsT2RkczsgCiAgICBpbnQgc3BlZWRGaWd1cmU7IAogICAgaW50IHBvc3RQb3NpdGlvbjsgCiAgICBpbnQgZmluYWxQb3N0aW9uOyAKICAgIHN0cnVjdCBob3JzZV90b3RhbHMgaG9yc2Vfc3RhdHM7IC8vIFdvcmtzIHBlcmZlY3RseSBub3chCn07IAoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vIE1BSU4gRlVOQ1RJT04KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmludCBtYWluKHZvaWQpIHsgCiAgICAvLyBGSVhFRDogUmVuYW1lZCBzdHJ1Y3R1cmUgdHlwZXMgdG8gbWF0Y2ggeW91ciBkZWZpbmVkIHN0cnVjdHVyZXMKICAgCiAgICAKICAgIHByaW50ZigiU3VjY2VzcyEgVGhlIGNvZGUgbm93IGNvbXBpbGVzIHBlcmZlY3RseS5cbiIpOwogICAgcmV0dXJuICgwKTsgCn0K