I have to make this Guess the Number program. It asks the user to insert a range (min-max), then the user has to think of a number and the program tries to guess it. At every attempt, the user says if the number is bigger or smaller, there're no limited attempts. I made the program's guess number generated randomly, but the problem is that I don't know how to make sure the program doesn't ask again a number that's already been discarded before. To explain what shouldn't happen:
- I insert the range 30-40
- I think of 37
- The program says: is your number 40? n
- Is bigger or smaller? <
- The program says: is your number 34? n
- Is bigger or smaller? >
- The program says: is your number 40? (40 has already been asked)
I've just started studying C.
That's the code:
#include <stdlib.h>
#include <time.h>
int main()
{
int numGen;
int minimum = 1;
int maximum = 0;
char answer;
char answer2;
while(minimum>maximum || minimum==0){
printf("Insert range \'min-max\'\n");
scanf("%d-%d", &minimum, &maximum);
if(minimum<=maximum && minimum>0) break;
else printf("Invalid range\n\n");
}
while(1) {
numGen = minimum + (rand()+time(NULL))%(maximum+1-minimum);
printf("Is your number: %i \'y\\n\'\n", numGen);
scanf(" %c", &answer);
if(answer=='y') {
printf("\nI guessed!\n");
break;
}
else if(answer=='n') {
printf("Is it bigger or smaller? \'>\\<\'\n");
scanf(" %c", &answer2);
if(answer2=='>') minimum = numGen;
else if(answer2=='<') maximum = numGen;
}
}
return 0;
}