Test Foro de elhacker.net SMF 2.1

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
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