Ganz einfach:

statt scanf irgendeine Funktion nehmen, die Sprinter gepostet hat
Code:
char c = ' ';
do
{
   c = getc();
} while (c < '1' || c>'5')
int selection = atoi(c);
Da ich das genaue Verhalten von getc & Co nicht im Kopf habe, solltest Du vorher noch einen Blick in die Beschreibung werfen.