//First Example

//This program counts how many times

//it takes until a die rolls with the number

//that the user input

#include<iostream>

#include<cstdlib>

#include<ctime>

using namespace std;

int rollDie(int);

int main()

{

srand(time(0));  //seed the random number generator

int times,number;

cout << "Which number do you want (1-6)?";

cin >> number;

times = rollDie(number);

cout << "It took " << times << " rolls  to "

<< "get " << number;

}

int rollDie(int x)

{

//roll the die until it hits the number x

int roll;

int counter = 0;

while (true)

{

roll = rand() % 6 + 1; // a random number between 1 and 6

cout << "You rolled: " << roll << endl;

counter++;

if (roll == x)

return counter;

}

}

//Example 2

//User inputs the sum of the two dice

//this program simulates the rolling of two dice

//counting how many times it takes until the sum

//is equal to the user input

#include<iostream>

#include<cstdlib>

#include<ctime>

using namespace std;

int rollDie(int);

int main()

{

srand(time(0));

int times,sum;

cout << "Which sum do you want (2-12)?";

cin >> sum;

times = rollDie(sum);

cout << "It took " << times << " rolls  to "

<< "get " << sum;

}

int rollDie(int x)

{

int die1,die2;

int counter = 0;

if (x < 2 || x > 12)  //checking to see if the sum value is impossible!

{

cout << "ERROR IN SUM!";

return 0;

}

while (true)

{

die1 = rand() % 6 + 1; //two random numbers between 1 and 6

die2 = rand() % 6 + 1;

cout << "You rolled: " << die1 << " and "

<< die2 << endl;

counter++;

if (die1 + die2 == x)

return counter;

}

}