Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Design And Implementation

Authors: Shouhong Wang, Hai Wang

1st Edition

1612330150, 978-1612330150

More Books

Students also viewed these Databases questions

Question

Do they ever feel that their personal life is being shortchanged?

Answered: 1 week ago

Question

13. You always should try to make a good first impression.

Answered: 1 week ago