I am trying to create a program, in which at the beginning it shows a menu to the user, which consists in a do{ ... }while; which reads an int., with a switch inside.
It works perfectly to read and check the integer, the problem is when writing a character or string, which gets stuck in an infinite loop showing the default message of the switch loop. The code is as follows:
int op;
printf("Choose an option:\n 1. option 1\n 2. option 2\n 3. option 3\n");
do{
    scanf("%d", &op);
    switch(op){
        case 1: (instruction); break;
        case 2: (instruction); break;
        case 3: (instruction); break;
        default: printf("\nPlease enter a valid option\n");
    }
}while(op<1 || op>3);
 
     
     
    