#include <stdio.h>
#define RACES 10
// race results
struct raceResult
{
int raceNumber; // The unique Race Number
int winningHorseNumber; // 1st place horse number for the race
int placeHorseNumber; // 2nd place horse number for the race
int showHorseNumber; // 3rd place horse number for the race
};
// assume you can access this array that contains the results of horse races for a given day
struct raceResult theDailyResults[RACES];
// your specific race wager
struct raceWager
{
int raceNumber; // the race number where you bet your horse
int myHorseNumber; // the horse you bet on
float myBetAmount; // how much money you are betting
char betType; // W for "Win", P for "Place", or S for "Show"
};
// call this function and pass in your bet to see how much you won ... if you lost or there
// is an error  in your wager info, it just returns zero
float myHorseBet (struct raceWager myBet, struct raceResult theDailyResults[]) {
//Bet validation
if (myBet.myBetAmount<5.0||myBet.myBetAmount>1000.0)
return 0.0; //invalid bet, outside min/max bet range.
if (myBet.myHorseNumber<1||myBet.myHorseNumber>20)
return 0.0; //invalid horse number
if (myBet.raceNumber<1||myBet.raceNumber>10)
return 0.0; //invalid race number
if (!(myBet.betType=='W'||myBet.betType=='P'||myBet.betType=='S'))
return 0.0; //invalid bet type
struct raceResult result;
int resultFound = 0;
int i;
for (i=0;i<RACES;i++){
if (theDailyResults[i].raceNumber == myBet.raceNumber) {
result = theDailyResults[i];
resultFound = 1;
break;
}
}
//if we didn't find matching racedata, something went wrong, so return 0.
if (!resultFound)
return 0.0;
//Figure out if/how much you win
switch (myBet.betType) {
case 'W':
if (myBet.myHorseNumber==result.winningHorseNumber)
return myBet.myBetAmount*10.0;
break;
case 'P':
if (myBet.myHorseNumber==result.placeHorseNumber ||
myBet.myHorseNumber==result.winningHorseNumber)
return myBet.myBetAmount*5.0;
break;
case 'S':
if (myBet.myHorseNumber==result.showHorseNumber ||
myBet.myHorseNumber==result.placeHorseNumber ||
myBet.myHorseNumber==result.winningHorseNumber)
return myBet.myBetAmount*3.0;
break;
}
return 0.0; //You didn't win.
}
int main(void) {
// your code goes here
return 0;
}