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;
}
 
    