``````// Dice Checker
// Take two dice worth of input from a user
// add them together and check them against
// a target number.
// Report back success or failure.

// Lecture demo by Marc Chee, September 2020
// (cs1511@cse.unsw.edu.au)

#include <stdio.h>

#define TARGET_VALUE 7

#define MIN_VALUE 1
#define MAX_VALUE 6

int main(void) {
// take input from user about the two dice
int dieOne;
int dieTwo;

printf("Please type in the value of the first die: ");
scanf("%d", &dieOne);

// Check whether this input is in the valid range
if (dieOne < MIN_VALUE || dieOne > MAX_VALUE) {
// die roll was invalid
printf(
"Die One, %d was outside the range of %d to %d. ",
dieOne, MIN_VALUE, MAX_VALUE
);

// Code for rejecting input and exiting
//printf("Program will exit now.\n");
//return 1;

/*
// Clamping Value Correction
if (dieOne < MIN_VALUE) {
dieOne = MIN_VALUE;
} else if (dieOne > MAX_VALUE) {
dieOne = MAX_VALUE;
}
*/

// Modulus Value Correction
dieOne = (dieOne % MAX_VALUE);
if (dieOne <= 0) {
// dieOne was negative, make it positive
dieOne = dieOne + MAX_VALUE;
}
}

printf("Please type in the value of the second die: ");
scanf("%d", &dieTwo);

// DieTwo hasn't been checked for valid input
// See if you can replicate the behaviour of your chosen solution
// for dieOne here!

// Calculate and report Total
int total = dieOne + dieTwo;
printf("Total rolled is: %d\n", total);

// Check against the secret target value
if (total >= TARGET_VALUE) {
// success
printf("Dice check was successful!\n");
} else {
// failure
printf("Dice check failed . . .\n");
}

return 0;
}
``````

Resource created Tuesday 22 September 2020, 01:32:34 PM.

file: diceCheck.c