lundi 2 octobre 2017

"Guess The Number" In C But If Statements Don't Work Right

I have a program in C that the user runs to play a "Guess The Number" game. It runs correctly to start but after the user enters 2 numbers (1 for the initial and 1 for the try again) the program repeats when it is supposed to have a limited number of tries.

Here is my code for the program:

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

int main(void)
{
    //----Guess a Number Game.-----------------------------------------
    // srand and rand needs the #include <stdlib.h> library

    srand(time(NULL)); //seeding the guess a number game with the system time, so the guess a # game always starts at a different point.
    int guess;
    int correctnum;
    correctnum = rand();

    printf("Enter a number:");
    scanf("%i",&guess);

    if(guess>correctnum)  // If aa is greater than bb AND aa is greater than cc.
    { 
      printf("Please enter another number, lower this time!");
      scanf("%i",&guess);
      main();
    }

    else if (guess<correctnum)
    {
      printf("Please enter another number, higher this time!");
      scanf("%i",&guess);
      main();
    }

    else if (guess==correctnum)
    {
      printf("You are a WINNER!\n");
      printf("You guessed the number right and it was %i!\n",correctnum);
    }
  int repeat;
  printf("Would you like to play again? 1=Yes and 2=No.");
  scanf("%i",&repeat);

  if(repeat==1)
  {
    main();
  }
  if(repeat==2)
  {
    printf("Hope you had a good time playing the game! See you soon!\n");
    return 0;
  }
}

Can a reputable programmer who has knowledge in C help me out? I have to get this done ASAP!

Aucun commentaire:

Enregistrer un commentaire