I'm stuck on a while loop exercise. The program seems to work fine as long as I only enter integers. However, if I enter a character, a symbol or a real number with decimals (even integers such as 1.0), I get a infinite loop.
int main() 
{
    int num;
    printf("Enter an odd number 1 and 10.");
    while(1) 
       {
        printf("\n\nEnter : ");
        scanf("%d", &num);
        if(num == 0)
            break;
        else if(num < 0 || num > 10)
            printf("You entered number is beyond the range.");
        else if(num % 2 == 0)
            printf("You entered an even number.");
        else
            printf("You entered a correct number.");
       }
   printf("You are exiting the program.");      
   return 0;
} 
 
     
    