# Number Guessing Game Help?

• 10-01-2009
zacharyrs
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; }```
• 10-01-2009
MK27
Quote:

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?
• 10-01-2009
zacharyrs
Quote:

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++;```
• 10-01-2009
zacharyrs
Would I create an int variable, then increase each time in the loop?

Code:

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

Quote:

numGuessed++
That way it gets added each time it loops?
• 10-01-2009
MK27
Quote:

Originally Posted by zacharyrs
That is in place for the loop

Yes. And each iteration of the loop == one guess. Right?

Quote:

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.
• 10-01-2009
zacharyrs
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; }```
• 10-01-2009
quzah
break;

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

Quzah.
• 10-01-2009
zacharyrs
Thank you for your help. Where would proper placement of the break be - outside loop or in the while?
• 10-01-2009
quzah

Quzah.
• 10-01-2009
tabstop
Quote:

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.
• 10-01-2009
vishnukumar
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.