CMPSCI 235 Guess the Number Program Worksheet
Description
This is the old “I’m thinking of a number between…”. When you run the program, the computer randomly generates a number. Then, the user is to guess the number. Upon guessing wrong, the program gives him/her a hint as to whether the guess is too high or too low. Once the number has been guessed, the game is over.
Create a program to input, keep track of, and check the user’s attempts to guess a randomly generated number. The input portion of the program will be a continuous loop, only breaking out of it when the user either guesses the correct number or by entering -1 to signify giving up. After each guess, the user will be informed of his guess being too high, too low, or exactly correct. Upon exiting the loop, the user is given feedback of their guesses (amount guessed too low, amount guessed too high, the total amount of guesses).
You’ll need to generate a random number to be guessed by the user. Here are some lines of code you’ll need:
#include <cmath> // loads in the library with the code to generate random numbers
#include <ctime> // loads in the library with the code to get the current time in seconds
srand(time(NULL)); // sets the seed of the random number the current time in seconds
int value = rand() % 100 + 1; // this is the line of code that grabs the random number itself
After the user enters a guess, output a message. For example, “Your guess is larger than the random value. Next guess: “. Or, “You’ve guessed correct!” if the number guessed matches the random number the program generated.
Example of how this program’s output should look after it runs:
run:
Guess the number I'm thinking of, from 1-100: 16
Your guess is larger than the random value. Next guess:
8
Your guess is larger than the random value. Next guess:
4
Your guess is smaller than the random value. Next guess:
6
You've guessed correct!
Total number of guesses: 4
Smaller Guesses: 1
Larger Guesses: 2
Break large problems into smaller pieces!
Sometimes it is useful for beginners to complete a smaller, simpler program before tackling the full project. Start with an easy program that only completes part of the project. Name your project ‘project2’. Always use variable and project names that clearly describe what you are creating.
Please Design First
Dividing a larger problem into smaller sub-problems is an important technique in computer programming.
It is a good practice to design your software before you write the code. Here are some design tasks you should complete before you start:
- Write out a list of variables you think you will need (e.g. int totalGuesses; // count of many guesses altogether scores)
- Flow chart (or Pseudocode) the selection statement(s) to decide if the guess was too high, too low, or the equivalent number
- Flow chart (or Pseudocode) the loop, include the check for -1 input and update of variables
In other words, have some idea about HOW you are going to solve the problem BEFORE you try to solve the problem.
OBJECT OF THE GAME (not required):
When you’ve completed this assignment, see if you can beat the game. The object of the game is to discover the algorithm you can use to never exceed 5 wrong guesses. HINT: The object of the game changes to never exceed 7 wrong guesses when you change the random number from 1-32 to 1-128. There is an algorithm in computer science you are looking for.
Something to think about:
How are random numbers generated on a computer?
Have a similar assignment? "Place an order for your assignment and have exceptional work written by our team of experts, guaranteeing you A results."