Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: David8 en 28 Marzo 2014, 19:05 pm



Título: Como capturar dato de entrada no esperado
Publicado por: David8 en 28 Marzo 2014, 19:05 pm
¿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


Título: Re: Como capturar dato de entrada no esperado
Publicado por: 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.


Título: Re: Como capturar dato de entrada no esperado
Publicado por: David8 en 2 Abril 2014, 18:14 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