Click here to Skip to main content
15,914,162 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
Generalvisual c++ Pin
vglmco1-Mar-04 7:28
vglmco1-Mar-04 7:28 
GeneralRe: visual c++ Pin
John M. Drescher1-Mar-04 7:37
John M. Drescher1-Mar-04 7:37 
GeneralRe: visual c++ Pin
vglmco1-Mar-04 7:42
vglmco1-Mar-04 7:42 
GeneralRe: visual c++ Pin
Wes Aday1-Mar-04 7:39
professionalWes Aday1-Mar-04 7:39 
GeneralRe: visual c++ Pin
vglmco1-Mar-04 7:48
vglmco1-Mar-04 7:48 
GeneralRe: visual c++ Pin
Wes Aday1-Mar-04 7:59
professionalWes Aday1-Mar-04 7:59 
GeneralRe: visual c++ Pin
Steve S1-Mar-04 22:35
Steve S1-Mar-04 22:35 
GeneralCasino Game Pin
maravingian1-Mar-04 6:44
maravingian1-Mar-04 6:44 
I need desperate help in designing a C Program simulating a casio game.
Any help would be greatly appreciated.

Here is the outline.

Objective
To give students practice in writing functions and calling those functions to perform more complex tasks.

The Problem: Casino
You will write a program that simulates a casino for a single player. The user will initially start with $1000. The user will then be able to choose from the following options:

1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit

Your program will execute each choice until the quits. At this point all of their chips automatically get sold back to the casino and a message prints out how much money the user has left (of the $1000) after gambling.

Craps
One of the most "fair" games to play at a casino is Craps. Here is one version of how to play:

1) Roll a pair of fair six-sided dice.
2) If you roll a 7 or 11, you win!
3) If you roll a 2, 3, or 12, you lose.
4) Otherwise, record what you've rolled. Let this sum be k; also known as your point.
5) If you rolled a point, continue rolling the pair of dice until you get either your point (k) or a sum of seven on the two dice.
6) If k comes up first, you win!
7) If 7 comes up first, you lose.

Arup's Game of Dice
Amazingly, this game is even more "fair" than Craps, but the house still has a 50.2% chance of winning, which is why the casino hasn't gone broke yet! Here are the rules:

1) Roll a pair of dice.
2) If you roll a sum of 11 or 12, you win.
3) If you roll a sum of 2, you lose.
4) Otherwise, record what you've rolled. Let this sum be k; also known as your point.
5) Roll one more time. If this roll exceeds your point(k), you win!
6) If this roll is the same as your point(k) or lower, you lose.

Buying Chips
Chips cost $11. Whenever a customer buys chips, he/she must give the banker some money. The banker will always give the user the maximum number of chips they can buy with the money given to them and return the leftover cash. You will write a single function that takes care of this transaction.

Selling Chips
The casino buys chips back at $10 a piece. You will write a single function that takes care of this transaction.

Functions you must write
Though you may write more functions, here are function prototypes for the ones you are required to write:

// Precondition: None.
// Postcondition: Returns the sum of two random dice rolls.
int pairofdice();

// Precondition: None.
// Postcondition: Plays one game of Craps and returns 1 if
// the player won and 0 if they lost.
int craps();

// Precondition: None.
// Postcondition: Plays one game of Arup's game of dice and
// returns 1 if the player won and 0 if they
// lost.
int arupsdice();

// Precondition: cash is the address of the variable
// storing the amount of money the user is
// wants to spend on chips.
// Postcondition: The number of chips purchased is returned
// and the variable storing the amount of
// money the user paid for chips is adjusted
// to equal the change left over after the
// transaction.
int buychips(int *cash);

// Preconditions: numchips > 0.
// Postconditions: Returns the cash obtained for selling
// numchips number of chips.
int sellchips(int numchips);

// Precondition: The first parameter is the number of
// chips the user has, the second is how
// much cash they currently have.
// Postcondition: A report detailing the number of chips
// and the amount of cash the user has is
// printed.
void statusreport(int numchips, int cash);



References
Textbook: Chapters 3 and 4 Notes: Lectures on loops, functions, random
number generator functions

Restrictions
Name the file you create and turn in casino.c. Although you may use other compilers, your program must compile and run using gcc. If you use your olympus account to work on this assignment, please follow the steps shown in class to create, compile, and test your program. Your program should include a header comment with the following information: your name, course number, section number, assignment title, and date. You should also include comments throughout your code, when appropriate. If you have any questions about this, please see a TA.

Input Specification
Assume that the user always enters the proper type of input, but not always appropriate values. Here are some possible errors you need to check for:

1) Do not allow the user to spend more money on chips than they have.
2) Do not allow the user to bet a number of chips they don't have.
3) Do not allow the user to sell a number of chips they don't have.
4) The user must always bet at least one chip for a game, or they can not play the game.

Assume that these specifications will be followed by the user:

1) They will never enter any negative integers.
2) They will never enter any invalid menu choices.

Output Specification
Your output should follow the examples on the following pages.

Deliverables
A single source file named casino.c turned in through WebCT.


Example Output #1

Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
1
How much cash do you want to spend for chips?
1100
Sorry, you do not have that much money. No chips bought.
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
1
How much cash do you want to spend for chips?
500
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
5
You currently have $505 left and 45 chips.
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
3
How many chips would you like to bet?
0
Sorry, that is not allowed. No game played.
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
3
How many chips would you like to bet?
10
Press 'r' and hit enter for your first roll.
r
You rolled a 8.
Press 'r' and hit enter for your next roll.
r
You rolled a 12.
Press 'r' and hit enter for your next roll.
r
You rolled a 6.
Press 'r' and hit enter for your next roll.
r
You rolled a 7.
Sorry, you have lost.
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
4
How many chips would you like to bet?
17
Press 'r' and hit enter for your first roll.
r
You rolled a 3.
Press 'r' and hit enter for your next roll.
r
You rolled a 8.
You win!
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
6
After selling your chips, you have $1025. Thanks for playing!
Example Output #2
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
1
How much cash do you want to spend for chips?
500
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
2
How many chips do you want to sell?
46
Sorry, you do not have that many chips. No chips sold.
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
4
How many chips would you like to bet?
46
Sorry, you do not have that many chips to bet. No game played.
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
4
How many chips would you like to bet?
5
Press 'r' and hit enter for your first roll.
r
You rolled a 11.
You win!
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
4
How many chips would you like to bet?
10
Press 'r' and hit enter for your first roll.
r
You rolled a 5.
Press 'r' and hit enter for your first roll.
r
You rolled a 5.
Sorry, you have lost.
Welcome to the Casino. Here are your choices:
1) Buy chips
2) Sell chips
3) Play Craps
4) Play Arup's Game of Dice
5) Status Report
6) Quit
6
After selling your chips, you have $1005. Thanks for playing!


GeneralRe: Casino Game Pin
Wes Aday1-Mar-04 7:27
professionalWes Aday1-Mar-04 7:27 
GeneralRe: Casino Game Pin
John M. Drescher1-Mar-04 7:41
John M. Drescher1-Mar-04 7:41 
Questionwhere to get free PDF sdk? Pin
Xiaodi_Liu1-Mar-04 6:44
Xiaodi_Liu1-Mar-04 6:44 
AnswerRe: where to get free PDF sdk? Pin
John M. Drescher1-Mar-04 7:45
John M. Drescher1-Mar-04 7:45 
QuestionHow to display xp style button and check box. Pin
bin89221-Mar-04 5:55
bin89221-Mar-04 5:55 
AnswerRe: How to display xp style button and check box. Pin
John R. Shaw1-Mar-04 16:43
John R. Shaw1-Mar-04 16:43 
GeneralThank you very much. Pin
bin89222-Mar-04 5:47
bin89222-Mar-04 5:47 
GeneralVery simple Thread class. Pin
Quaoar1-Mar-04 5:44
Quaoar1-Mar-04 5:44 
GeneralRe: Very simple Thread class. Pin
John M. Drescher1-Mar-04 9:00
John M. Drescher1-Mar-04 9:00 
GeneralRe: Very simple Thread class. Pin
Joe Woodbury1-Mar-04 18:31
professionalJoe Woodbury1-Mar-04 18:31 
GeneralRe: Very simple Thread class. Pin
Quaoar2-Mar-04 6:23
Quaoar2-Mar-04 6:23 
QuestionHow to Create a Button with Tooltip in "win32 application project"? Pin
akira321-Mar-04 5:18
akira321-Mar-04 5:18 
AnswerRe: How to Create a Button with Tooltip in "win32 application project"? Pin
rrrado1-Mar-04 5:26
rrrado1-Mar-04 5:26 
QuestionHow to remember app window's size Pin
rrrado1-Mar-04 5:16
rrrado1-Mar-04 5:16 
AnswerRe: How to remember app window's size Pin
David Crow1-Mar-04 5:45
David Crow1-Mar-04 5:45 
GeneralRe: How to remember app window's size Pin
Diddy2-Mar-04 11:27
Diddy2-Mar-04 11:27 
QuestionHow to show Window Maximized? - initially Pin
vgrigor1-Mar-04 4:04
vgrigor1-Mar-04 4:04 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.