Easy Tutorial
❮ C Function Longjmp C Function Clearerr ❯

C Practice Example 94

C Language Classic 100 Examples

Title: Guessing Game.

Program Analysis: None.

Example

//  Created by www.tutorialpro.org on 15/11/9.
//  Copyright © 2015 tutorialpro.org. All rights reserved.
//

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void guessingGame(void)
{
    int n;
    char begin;
    int count = 1;
    srand((int)time(NULL));
    int m = (rand() % 100) + 1;
    puts("Game starts, please enter a number:");
    while (1)
    {
        scanf("%d", &n);
        if (n == m)
        {
            printf("You guessed it right, used %d attempts!\n", count);
            if (count == 1)
            {
                printf("You are a god-level player! Admiration\n");
                getchar();
                printf("You have reached the highest level, do you want to play again? Y/N \n");
                scanf("%c", &begin);
                if (begin == 'Y' || begin == 'y')      // Nested loop for repeated play
                {
                    guessingGame();
                }
                else
                {
                    printf("Thank you, goodbye!\n");
                }
            }
            else if (count <= 5)
            {
                printf("You are a king-level player! Highly praised\n");
                getchar();
                printf("Do you want to challenge the highest level? Y/N \n");
                scanf("%c", &begin);
                if (begin == 'Y' || begin == 'y')
                {
                    guessingGame();
                }
                else
                {
                    printf("Thank you, goodbye!\n");
                }
            }
            else if (count <= 10)
            {
                printf("You are a master-level player! Greatly praised\n");
                getchar();
                printf("Do you want to challenge the highest level? Y/N \n");
                scanf("%c", &begin);
                if (begin == 'Y' || begin == 'y')
                {
                    guessingGame();
                }
                else
                {
                    printf("Thank you, goodbye!\n");
                }
            }
            else if (count <= 15)
            {
                printf("You are a diamond-level player! Highly commended\n");
                getchar();
                printf("Do you want to challenge the highest level? Y/N \n");
                scanf("%c", &begin);
                if (begin == 'Y' || begin == 'y')
                {
                    guessingGame();
                }
                else
                {
                    printf("Thank you, goodbye!\n");
                }
            }
            else
            {
                getchar();
                printf("Your skills need improvement! Play again? Y/N\n");
                scanf("%c", &begin);
                if (begin == 'Y' || begin == 'y')
                {
                    guessingGame();
                }
                else
                {
                    printf("Thank you, goodbye!\n");
                }
            }
            break;
        }
        else if (n < m)
        {
            puts("Too small!");
            puts("Re-enter:");
        }
        else
        {
            puts("Too large!");
            puts("Re-enter:");
        }
        count++; // Counter
    }
}

int main(void)
{
    guessingGame();
    system("pause");
    return 0;
}

The above example outputs the following results when run:

Game starts, please enter a number:
50
Too large!
Re-enter:
25
Too small!
Re-enter:
40
Too large!
Re-enter:
30
Too large!
Re-enter:
27
Too small!
Re-enter:
28
You guessed it right, used 6 attempts!
You are a master-level player! Greatly praised
Do you want to challenge the highest level? Y/N 
N
Thank you, goodbye!

C Language Classic 100 Examples

❮ C Function Longjmp C Function Clearerr ❯