Como capturar dato de entrada no esperado

Iniciado por David8, 28 Marzo 2014, 19:05 PM

0 Miembros y 1 Visitante están viendo este tema.

David8

¿Cómo se podría hacer para que en un programa que solo pida números enteros si se introduce un float, double o char el programa pueda capturar el error.

Es decir que si yo tengo por ejemplo scanf("%d", &x); e introducimos en 5.5 es claro que si lo imprimimos con printf("%d", x); el programa mostrará 5. Lo que yo quiero es algún fragmento de código que me permita imprimir que se ha introducido un tipo diferente de int.

Gracias

eferion

tienes que capturar un string y luego intentar convertirlo a int... si la conversión no es satisfactoria muestras un mensaje de error y repites el proceso.

David8

Cita de: eferion en 28 Marzo 2014, 19:59 PM
tienes que capturar un string y luego intentar convertirlo a int... si la conversión no es satisfactoria muestras un mensaje de error y repites el proceso.

Muchas gracias. Al final lo hice usando las funciones de la biblioteca ctype.h y string.h :D