You can use a for loop to limit the amount of input from the user.
Each iteration of the loop will permit some input to be entered.
In the following code user will guess a number that the program has picked.
It uses one for loop and if statements.
#include <stdio.h> int main(void) { int chosen = 15; // The lucky number int guess = 0; // Stores a guess int count = 3; // The maximum number of tries printf("\nThis is a guessing game."); printf("\nI have chosen a number between 1 and 20" " which you must guess.\n"); for( ; count > 0 ; --count) {/*from ww w.j a v a 2s. c om*/ printf("\nYou have %d tr%s left.", count, count == 1 ? "y" : "ies"); printf("\nEnter a guess: "); // Prompt for a guess scanf("%d", &guess); // Read in a guess // Check for a correct guess if(guess == chosen) { printf("\nCongratulations. You guessed it!\n"); return 0; // End the program } else if(guess < 1 || guess > 20) // Check for an invalid guess printf("I said the number is between 1 and 20.\n "); else printf("Sorry, %d is wrong. My number is %s than that.\n", guess, chosen > guess ? "greater" : "less"); } printf("\nYou have had three tries and failed. The number was %d\n", chosen); return 0; }
The number of guesses that can be entered is controlled by this loop:
for( ; count > 0 ; --count)
{
...
}
You check whether it's correct with these statements:
if(guess == chosen) { printf("\nCongratulations. You guessed it!\n"); return 0; // End the program }
If the guess is correct, you display a suitable message and execute the return statement.