Question
Write a program that simulates flipping a coin and rolling a dice. A user will input their choice of flipping a coin (C), rolling a
Write a program that simulates flipping a coin and rolling a dice.
A user will input their choice of flipping a coin (C), rolling a dice (D), or Exiting(E).
If the user chooses a coin toss, the program will ask how many times the coin should be tossed, then will simulate tossing the coin that many times and print the result to the user.
If the user chooses rolling a die, the program will ask how many sides the die has and h ow many times it should be rolled. The program will then simulate rolling a die (with the number of sides specified) that many times.
The program will continue until the user presses E.
This should be a lot of fun! Here are some great things to think about as you begin your program!
You will need two functions. A string flipCoin() and a int rollDice(int) function. These functions will generate a random number. For the coin flip the random number should be in the range of 1 to 2. If the number is 1 the function should return heads. If the random number is 2, the function should return tails. For the roll dice function, the random number should be in the range of 1 to the number of sides. The function should return the result of the die roll. Important notes: You will want to seed your random number generator. To do this at the beginning of your program #include Use the following commands to seed the random number generator: //Get the system time to use it to seed the random number generator unsigned seed = time(0);
//seed the random number generator srand(seed);
to get a random number between one and 2 use the following code: int toss = 1 + rand() % 2;
Sample Output from the Program
Welcome to the Random Value Generator! Would you like to flip a coin (C) or roll a die (D) or Exit (E): C How many times do you want to flip the coin: 5 flip 1 : tails flip 2 : heads flip 3 : heads flip 4 : heads flip 5 : tails Would you like to flip a coin (C) or roll a die (D) or Exit (E): D How many sides does your die have: 6 How many times do you want to roll the die: 5 roll 1 : 5 roll 2 : 3 roll 3 : 2 roll 4 : 2 roll 5 : 2 Would you like to flip a coin (C) or roll a die (D) or Exit (E): D How many sides does your die have: 20 How many times do you want to roll the die: 3 roll 1 : 19 roll 2 : 16 roll 3 : 15 Would you like to flip a coin (C) or roll a die (D) or Exit (E): E Thanks for playing! Press any key to continue . . .
|
Step 2: Processing Logic |
Using the pseudocode below, write the code that will meet the requirements. Main Function Declare the number of tosses, number of sides, and user choice. Seed the random number generator
while user choice !=E Ask the user if they want to flip a coin, roll a die, or exit If the choice is C Ask the user how many times to flip the coin. For i=1 to number of flips step 1 Call flipCoin() Print result If the choice is D Ask the user how many sides the die has. Ask the user how many times to roll the die For i=1 to number of rolls step 1 Call rollDice() Print result Else Display the closing message
flipCoin Function generate an integer random number between 1 and 2. If a 1 is generated return heads, else return tails rollDice Function generate a random number between 1 and the number of sides return the result of the roll |
I was using the following code below, but it returns with an error on line 60
// ---------------------------------------------------------------
#include
#include
using namespace std;
// function that returns either tails if toss is 1 and heads if toss is 2
string flipCoin()
{
int toss = 1 + rand() % 2;
if (toss == 1)
{
return "tails";
}
else
{
return "heads";
}
}
// function that returns a number between 1 and given n
int rollDice(int n)
{
int di = 1 + rand() % n;
return di;
}
// main function
int main() {
unsigned seed = time(0);
char choice = 'A';
// taking user input for choice
cout << "Welcome to the Random Value Generator!" << endl;
cout << "Would you like to flip a coin (C) or roll a die (D) or Exit (E): ";
cin >> choice;
while (true)
{
srand(seed); // seed
// takes input and prints that number of flips
if (choice == 'C')
{
int x, i;
string coin;
cout << "How many times do you want to flip the coin: ";
cin >> x;
for (i = 0; i < x; i++)
{
coin = flipCoin();
cout << "flip " << i + 1 << " : " << coin << endl;
}
}
// takes input and prints the outcome of dice
else if (choice == 'D')
{
int i, x, d, faces;
cout << "How many sides does your die have: ";
cin >> faces;
cout << "How many times do you want to roll the die: ";
cin >> x;
for (i = 0; i { d = rollDice(faces); cout << "roll " << i + 1 << " : " << d << endl; } } // breaking if it is E else if (choice == 'E') { cout << "Thanks for playing!"; break; } cout << endl << "Would you like to flip a coin (C) or roll a die (D) or Exit (E): C"; cin >> choice; } } cout << "flip " << i + 1 << " : " << coin << endl; says << coin is an error
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started