fork download
  1. #include <stdio.h>
  2.  
  3. #define RACES 10
  4.  
  5. // race results
  6. struct raceResult
  7. {
  8. int raceNumber; // The unique Race Number
  9. int winningHorseNumber; // 1st place horse number for the race
  10. int placeHorseNumber; // 2nd place horse number for the race
  11. int showHorseNumber; // 3rd place horse number for the race
  12. };
  13.  
  14.  
  15. // assume you can access this array that contains the results of horse races for a given day
  16. struct raceResult theDailyResults[RACES];
  17.  
  18. // your specific race wager
  19. struct raceWager
  20. {
  21. int raceNumber; // the race number where you bet your horse
  22. int myHorseNumber; // the horse you bet on
  23. float myBetAmount; // how much money you are betting
  24. char betType; // W for "Win", P for "Place", or S for "Show"
  25. };
  26.  
  27. // call this function and pass in your bet to see how much you won ... if you lost or there
  28. // is an error  in your wager info, it just returns zero
  29. float myHorseBet (struct raceWager myBet, struct raceResult theDailyResults[]) {
  30. //Bet validation
  31. if (myBet.myBetAmount<5.0||myBet.myBetAmount>1000.0)
  32. return 0.0; //invalid bet, outside min/max bet range.
  33. if (myBet.myHorseNumber<1||myBet.myHorseNumber>20)
  34. return 0.0; //invalid horse number
  35. if (myBet.raceNumber<1||myBet.raceNumber>10)
  36. return 0.0; //invalid race number
  37. if (!(myBet.betType=='W'||myBet.betType=='P'||myBet.betType=='S'))
  38. return 0.0; //invalid bet type
  39.  
  40. struct raceResult result;
  41. int resultFound = 0;
  42. int i;
  43. for (i=0;i<RACES;i++){
  44. if (theDailyResults[i].raceNumber == myBet.raceNumber) {
  45. result = theDailyResults[i];
  46. resultFound = 1;
  47. break;
  48. }
  49. }
  50. //if we didn't find matching racedata, something went wrong, so return 0.
  51. if (!resultFound)
  52. return 0.0;
  53.  
  54. //Figure out if/how much you win
  55. switch (myBet.betType) {
  56. case 'W':
  57. if (myBet.myHorseNumber==result.winningHorseNumber)
  58. return myBet.myBetAmount*10.0;
  59. break;
  60. case 'P':
  61. if (myBet.myHorseNumber==result.placeHorseNumber ||
  62. myBet.myHorseNumber==result.winningHorseNumber)
  63. return myBet.myBetAmount*5.0;
  64. break;
  65. case 'S':
  66. if (myBet.myHorseNumber==result.showHorseNumber ||
  67. myBet.myHorseNumber==result.placeHorseNumber ||
  68. myBet.myHorseNumber==result.winningHorseNumber)
  69. return myBet.myBetAmount*3.0;
  70. break;
  71. }
  72. return 0.0; //You didn't win.
  73. }
  74. int main(void) {
  75. // your code goes here
  76. return 0;
  77. }
  78.  
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Standard output is empty