I'm new to programming.I wanted to create a game such that the user guesses a number between 0 and 10.However,I want to print an error message when the user enters a floating number such as 7.5 or a character or a number out of range such as 11 or -5.How do I do that ?
int main()
{
int answer,randomNumber;
int correct = 0;
int tries = 0;
char again ;
srand(time(NULL));
do{
randomNumber = rand() % 10;
printf("Guess a number between 0 and 10:\n");
while(correct ==0){
while(scanf(" %d",&answer)!=1){
printf("Wrong input.\n");
scanf(" %d",&answer);
}
if(answer<0 || answer>10){
printf("Invalid input.Enter a number between 0 and 10.\n");
continue;
}
if(answer==randomNumber){
printf("Congratulations..%d is the correct number.\n",answer);
tries ++;
correct = 1;
}else if(answer > randomNumber){
printf("Choose a lower number.\n");
tries++;
}else if (answer<randomNumber){
printf("Choose a bigger number.\n");
tries ++;
}else{
printf("Wrong input.Try again..\n");
}
}printf("Do you want to play again ? (Y/N):\n");
scanf(" %c",&again);
again = toupper(again);
while(again!='N' && again!='Y'){
printf("Invalid input.Please type Y or N.\n");
scanf(" %c",&again);
again = toupper(again);
}
}while(again != 'N');
return 0;
}