how to use case/switch with letters and numbers
Hey
I am trying to use a case switch statement to choose from a menu option but It will not allow to use letters as an option. If the user put in a letter I would like for it to say invalid option but instead it continuously loops.
Code:
#include <stdio.h>
void playgame();
void loadgame();
void multi();
void scores();
void quit();
int main (int argc, const char * argv[]) {
// insert code here...
char input;
do{
printf("\n\n");
printf("1. Play New Game\n");
printf("2. Load Previous Game\n");
printf("3. Play Multiplayer\n");
printf("4. View High Scores\n");
printf("5. Quit\n");
printf("\nChoose an option and press enter: ");
scanf("%d",&input);
switch (input) {
case 1:
playgame();
break;
case 2:
loadgame();
break;
case 3:
multi();
break;
case 4:
scores();
break;
case 5:
quit();
break;
default:
printf("\nInvalid Choice!\n");
break;
}
} while (input !=5);
//end
return 0;
}
void playgame(){
printf("\nStarting new game....");
}
void loadgame(){
printf("\nChoose from a save file");
}
void multi(){
printf("\nConnecting to servers!");
}
void scores(){
printf("\nHigh Scores~");
}
void quit(){
printf("\nThanks for playing...");
}
Any help would be fantastic.