Make a program that takes bets on horse races. There will be four types of bets described below.  The horse race result is generated by a function a function called ReadySetgo that simply scrambles the horses into random order as a “psuedo/simulated” horse race and that tells you the race results. I will provide you with the code for your ReadysetGo function as shown above you can just call shuffle to simulate the race.   We assume four horses run in a race, and we assume the horses are named by numbers 1-4.   Let’s say the horses are initially in the order 1 2 3 4. If you call Readysetgo to randomly shuffle them (that’s our pseudo-race) we might get a race result of 2 1 4 3 for example, which means:  horse #2 came in first, horses #1 came in second, horse #4 came in third and horse # 3 came in fourth. The user starts out with 200 dollars.  Betting costs are as follows: An Exacta bet costs 10 dollars, and an Exactabox bet costing 5 dollars, a Trifecta bet costs 25 dollars, and a Trifectabox bet costs 20 dollars.  Advanced students you can (but are not obligated to) make this bet cost programmable, ie some students allow the user to decide how much they want to bet on the race, and some even let the user borrow money and get more in debt if they keep on losing and run out their 200 dollars)  We need our program to allow the user to place any of the four types of bets.  The user is given a USD (US dollars) cash balance of 200 dollars for betting.  The menu options allow the user to place any of the four bets, run the race, see the result, see what their cash balance is, and exit the program.  Advanced students if you wanted to, you could save a history of the bets they placed so they could also ask for their betting history. There are two easy ways to implement the user interface for this, one is going to be with a simple text based menu, and one is going to be with a simple string/command-line based menu.  A text menu is where you give the user a choice of options and tell them for example:  enter 1 to place an exactabet, enter 2 to place an exactabox bet, etc.  ie: Welcome to Horse Betting! Please select from the following options 1-6 Place an exact bet Place an exactabox bet Place a trifectabet Please a trifectabox bet See your USD balance Exit They then choose the option they want and then you ask them what horses they pick as the winners, get their pick, run the race, see if they won, etc.  A text based menu is going to be the better choice to implement if you are a beginner.  A string based menu is a slightly different input style, where the input is more of a command-line driven sentence that gets parsed into components in the program to determine what they want, for example, if the user inputs the command line sentence > exacta 1 2  the program will read that in, divide that up into the components and figure out that they are placing an exacta bet with horse 1 and 2 as the picks.   example EXACTA 1 3  EXACTA 1 3 means that we are betting that the winner and second place will be exactly in that order (ie; the bet is betting that horse #1 will come in first place, and horse #3 will come in second place)  EXACTABOX 1 4  EXACTABOX 1 4 means that we are betting that the winning two horses will be 1 and 4 in any order. So if the race comes in as 4 1 2 3, you still win the bet since horse number 1 and 4 are still in the top two places.  And also two more types of bet TRIFECTA 1 3 2  TRIFECTA 1 3 2 means that we are betting that the winners will be exactly in that order (ie; the bet is saying that horse #1 will come in first place/win, horse #3 will come in second place/place, and that horse #2 will come into third place/show.  TRIFECTABOX 1 4 2  TRIFECTABOX 1 4 2 means that we are betting that the winning three horses will be 1, 4, and 2 in any order. So if the race comes in as 1 2 4 3, you still win the bet because horse number 1, 2, and 4 are in the top three places.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Make a program that takes bets on horse races. There will be four types of bets described below.  The horse race result is generated by a function a function called ReadySetgo that simply scrambles the horses into random order as a “psuedo/simulated” horse race and that tells you the race results. I will provide you with the code for your ReadysetGo function as shown above you can just call shuffle to simulate the race.  

We assume four horses run in a race, and we assume the horses are named by numbers 1-4.  

Let’s say the horses are initially in the order 1 2 3 4. If you call Readysetgo to randomly shuffle them (that’s our pseudo-race) we might get a race result of 2 1 4 3 for example, which means:  horse #2 came in first, horses #1 came in second, horse #4 came in third and horse # 3 came in fourth.

The user starts out with 200 dollars.  Betting costs are as follows: An Exacta bet costs 10 dollars, and an Exactabox bet costing 5 dollars, a Trifecta bet costs 25 dollars, and a Trifectabox bet costs 20 dollars.  Advanced students you can (but are not obligated to) make this bet cost programmable, ie some students allow the user to decide how much they want to bet on the race, and some even let the user borrow money and get more in debt if they keep on losing and run out their 200 dollars) 

We need our program to allow the user to place any of the four types of bets.  The user is given a USD (US dollars) cash balance of 200 dollars for betting.  The menu options allow the user to place any of the four bets, run the race, see the result, see what their cash balance is, and exit the program.  Advanced students if you wanted to, you could save a history of the bets they placed so they could also ask for their betting history.

There are two easy ways to implement the user interface for this, one is going to be with a simple text based menu, and one is going to be with a simple string/command-line based menu.  A text menu is where you give the user a choice of options and tell them for example:  enter 1 to place an exactabet, enter 2 to place an exactabox bet, etc. 

ie:

Welcome to Horse Betting!

Please select from the following options 1-6

  1. Place an exact bet
  2. Place an exactabox bet
  3. Place a trifectabet
  4. Please a trifectabox bet
  5. See your USD balance
  6. Exit

They then choose the option they want and then you ask them what horses they pick as the winners, get their pick, run the race, see if they won, etc.  A text based menu is going to be the better choice to implement if you are a beginner.  A string based menu is a slightly different input style, where the input is more of a command-line driven sentence that gets parsed into components in the program to determine what they want, for example, if the user inputs the command line sentence

> exacta 1 2 

the program will read that in, divide that up into the components and figure out that they are placing an exacta bet with horse 1 and 2 as the picks.

 

example

EXACTA 1 3 

EXACTA 1 3 means that we are betting that the winner and second place will be exactly in that order (ie; the bet is betting that horse #1 will come in first place, and horse #3 will come in second place) 

EXACTABOX 1 4 

EXACTABOX 1 4 means that we are betting that the winning two horses will be 1 and 4 in any order. So if the race comes in as 4 1 2 3, you still win the bet since horse number 1 and 4 are still in the top two places. 

And also two more types of bet

TRIFECTA 1 3 2 

TRIFECTA 1 3 2 means that we are betting that the winners will be exactly in that order (ie; the bet is saying that horse #1 will come in first place/win, horse #3 will come in second place/place, and that horse #2 will come into third place/show. 

TRIFECTABOX 1 4 2 

TRIFECTABOX 1 4 2 means that we are betting that the winning three horses will be 1, 4, and 2 in any order. So if the race comes in as 1 2 4 3, you still win the bet because horse number 1, 2, and 4 are in the top three places.

Expert Solution
steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Knowledge Booster
Arrays
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education