Objective To give students practice in writing functions and calling those funct
ID: 3673279 • Letter: O
Question
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 $905. Thanks for playing!
Explanation / Answer
Iam writing this program in C-language using switch case statement and functions.
First write all the required functions for the given problem.
#include<stdio.h>
int pairofdice();
int craps();
int arupsdice();
int buychips(int *cash);
int sellchips(int numchips);
void statusreport(int numchips, int cash);
int choice;
int main()
{
int numchips=$1000;
buychips(int *cash);
sellchips(int numchips);
craps();
pairofdice();
statusreport(int numchips, int cash);
printf("Enter the valid choice:");
scanf("%d",&choice");
printf("Welcome to casino Here you are choices:");
printf("Enter the number of chips:");
printf("Enter the choice:");
switch(choice)
{
case 1:printf("1. Buy Chips:");
break;
case 2:printf("2. Sell chips:");
break;
case 3:printf("3. Play Craps:");
break;
case 4:printf("4.Play Arups game of dice:");
break;
case 5:printf("5.status report:");
break;
case 6:printf("6.Quit:");
break;
default:printf("Enter the choice which is valid:);
break;
}
return 0;
int buychips(int *cash)
{
printf("how much cash do you spent for money:");
if(cash>1000)
{
printf"sorry you dont have that much money no chips bought");
}
else
{
printf("welcome to casino here your choices:");
}
}
void statusreport(int numchips, int cash)
{
printf("How much cash do you want to spend for chips?");
if(numchips<1000)
printf("provide the status report");
}
int craps()
{
int i,sum;
printf("How many chips would you like to bet:?");
if(i<=0)
printf("Sorry, that is not allowed. No game played.");
else if(i>0)
{
printf("How many chips would you like to bet?");
else if(sum==6||8||12)
printf("press r and hit the next roll");
else
printf("you lose the game");
}
}
int arupsdice()
{
int sum;
printf("How many chips would you like to bet");
if(numchips>0)
{
printf("Press 'r' and hit enter for your first roll");
else if(sum==3)
printf("Press 'r' and hit enter for your first roll");
else if(sum==8)
printf("you won");
else
printf("quit");
}
}
int sellchips(int numchips)
{
printf("after playing print the remaining chips:");
}
}
you can apply for the remaining outputs also
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.