Corrección de letra a numero...

Tengo un menú de números es algo muy simple en si, pero lo que pasa es que si yo meto un carácter extraño o una letra, ¿mi menú se traba como puede corregir eso?
Me dijeron que lo convirtiera a código ASCII y ya después comprobara los rangos (48-57, ¿son números) pero no se como hacerlo o hay otra forma de corregir eso?
Main()
int menu,checa;
¿Las opciones y todo lo demás va a qui pero en si solo corregir eso de si meten una letra o otra cosa que no sea numero?
printf("Esperando respuesta: ");
scanf("%d",&menu);
checa=toascii(menu);
if(checa<48 && checa>57)
{
puts("El valor introducido no es correcto intente de nuevo...");
getch();
}
1

1 respuesta

Respuesta
Espero que a estas alturas en que te contesto, ya hayas dado con la solución, pues antes me ha sido imposible atender la pregunta.
De todas formas te explico. Efectivamente, lo mejor es no pasar, sino tratar los números como caracteres alfanuméricos, no como valores enteros, y eso es algo tan simple como declarar los números, en vez de enteros, pues como char. Si no ves como llevar esto a cabo y el menú, escríbeme de nuevo y te explico el proceso de manera detallada, ¿te parece bien?
Venga.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas