chasely
- 2
- 0
Homework Statement
Write a program that will roll a pair of six-sided dice (int variables named redDie and blueDie) and will give you 5 points every time you roll doubles (pair of 2s, 3s, 4s, and 5s) and 10 points if you roll snake-eyes (pair of 1s) or boxcars (pair of 6s). Run your program 10 times and see how many points you make. NOTE: This lab presents an interesting coding problem and emphasizes that gambling is for people who can’t do the math!
Homework Equations
This was given to us for help at the beginning of the equation
1. Paste the code below this function above your main() function and use it to generate random numbers. The syntax to obtain a random number in main will be :
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
int main(void)
{
int redDie, blueDie;
srand((int)time(NULL) + 1);
redDie = (rand() % 6) + 1 /* produce a random number 1 to 6 */
blueDie = (rand() % 6) + 1 /* what is the % used for? */
}
2. You will need to use the conditional “if-else” statement (Ref: Page 158 of textbook)
Some thing like the following:
if ((redDie == 1) and (redDie == blueDie))
{
/* snake eyes */
}
And so on...
The Attempt at a Solution
Here's what I got. The program runs just fine without the when loop, but with the loop in place, it takes the output of the first roll and copies that output 10 times, instead of executing a new roll at the beginning of each loop.
Any help that you could give me would be really helpful.
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
int main ()
{
int redDie;
int blueDie;
int dierolls;
dierolls = 0;
while (dierolls < 10)
{
srand((int)time(NULL)+1);
redDie = (rand()%6) + 1, /*produce a random number 1 to 6*/
blueDie = (rand()%6) + 1; /*what is the %used for?*/
if(redDie == 1 && redDie == blueDie)
{
printf("You rolled snake eyes, and scored 10 points!\n");/*snake eyes*/
}
else if(redDie == 6 && redDie == blueDie)
{
printf("You rolled a boxcar, and scored 10 points!\n"); /*boxcars*/
}
else if(redDie == 2 && redDie == blueDie)
{
printf("You rolled double 2's, and scored 5 points!\n");
}
else if(redDie == 3 && redDie == blueDie)
{
printf("You rolled double 3's, and scored 5 points!\n");
}
else if(redDie == 4 && redDie == blueDie)
{
printf("You rolled double 4's, scored 5 points!\n");
}
else if(redDie == 5 && redDie == blueDie)
{
printf("You rolled double 5's, and scored 5 points!\n");
}
else if (redDie != blueDie)
{
printf("You didn't roll any doubles, no points for you. Sorry...\n");
}
dierolls = dierolls + 1;
}
printf("Do yourself a favor, play a different game.");
return 0;
}