# Thread: Number Guessing Game Help?

1. ## Number Guessing Game Help?

First, thank you for even thinking of helping me. I am a n00b at C and trying to learn every bit I can. I am seeking help so I can understand for future projects, not just an answer Also excuse my poor English.

I have a lot written in the program so far. I am able to loop the code, allow user to guess number and it seems to work. My questions are 1. How can I store how many guesses they guessed? I know I would store it in a variable and display it at some point, just not sure how to save it. 2. How can I end the loop when the user guesses the correct answer? My code is below. Again thank you for any help.

Code:
```#include<stdlib.h>
#include<stdio.h>

int main(void)
{
int x = 10;
int i = 0;
int target, guess;

/*create a random number*/
//create random function
srand(time(NULL));//this creates new number based on time which changes every second :)
target = rand() % 99; //create a random number using the rand() function, from 0 -99

/
do{
//increase the loop until it meets the x variable
i++;

//allow user to input a number for guess
scanf("%d", &guess);
if (guess == target)
{
printf("You win! \n\n");

}
else if (guess > target)
{
printf("You are too high. Guess a number:\n\n");
}
else if (guess < target)
{
printf("You are too low. Guess a number:\n\n");
}

}while(i < x);
printf("You lose, the number was %d \n\n", target);

printf("Enter any key to exit...");
getchar();
getchar();

return 0;

}```

2. Originally Posted by zacharyrs
My questions are 1. How can I store how many guesses they guessed?
You already did -- that number is "i". Right?

3. Originally Posted by MK27
You already did -- that number is "i". Right?
That is in place for the loop

Code:
```//increase the loop until it meets the x variable
i++;```

4. Would I create an int variable, then increase each time in the loop?

Code:
`   int numGuessed=0;`
and later in the loop just do

numGuessed++
That way it gets added each time it loops?

5. Originally Posted by zacharyrs
That is in place for the loop
Yes. And each iteration of the loop == one guess. Right?

Originally Posted by zacharyrs
Would I create an int variable, then increase each time in the loop?
You can, but that number will be exactly the same as "i", is what I was trying to point out.

6. I was able to set a variable and increase it each time to show the number of tries. Yay for me. Anyone know best way of stopping the loop when the user has guessed the number, thus ending the loop before it has reached 10? Any help would be greatly appreciated.

Code:
```#include<stdlib.h>
#include<stdio.h>
#include<time.h>

int main(void)
{
int x = 10;
int i = 0;
int target, guess;
int numGuess = 0;

/*create a random number*/
//create random function
srand(time(NULL));//this creates new number based on time which changes every second :)
target = rand() % 99; //create a random number using the rand() function, from 0 -99

do{
//increase the loop until it meets the x variable
i++;
numGuess++;
//allow user to input a number for guess
scanf("%d", &guess);
if (guess == target)
{
printf("You win! \n\n");

}
else if (guess > target)
{
printf("You are too high. Guess a number:\n\n");
}
else if (guess < target)
{
printf("You are too low. Guess a number:\n\n");
}

}while(i < x);
printf("You lose, the number was %d. \n", target);

printf("Number of tries %d\n", numGuess);
printf("Enter any key to exit...");
getchar();
getchar();

return 0;

}```

7. break;

They typically cover this in your book at the same time they cover loops.

Quzah.

8. Thank you for your help. Where would proper placement of the break be - outside loop or in the while?

9. Go read your book's section (or any tutorial) on loops again.

Quzah.

10. Originally Posted by zacharyrs
Thank you for your help. Where would proper placement of the break be - outside loop or in the while?
Obviously a break outside the loop couldn't possibly help.

11. Code:
```#include<stdlib.h>
#include<stdio.h>
#include<time.h>

int main(void)
{
int x = 10;
int i = 0;
int target, guess;
int numGuess = 0;

/*create a random number*/
//create random function
srand(time(NULL));//this creates new number based on time which changes every second :)
target = rand() % 99; //create a random number using the rand() function, from 0 -99

do{
//increase the loop until it meets the x variable
i++;
numGuess++;
//allow user to input a number for guess
scanf("%d", &guess);
if (guess == target)
{
printf("You win! \n\n");
break;//  comes out of loop
}
else if (guess > target)
{
printf("You are too high. Guess a number:\n\n");
}
else if (guess < target)
{
printf("You are too low. Guess a number:\n\n");
}

}while(i < x);
printf("You lose, the number was %d. \n", target);

printf("Number of tries %d\n", numGuess);
//printf("Enter any key to exit...");
//getchar();
//getchar();

return 0;

}```

why are you using getchar(); ? no need of it i think.