Programación General > C/C++

 Comparar char con int.

<< < (2/2)

betopin:
Podrias validar el valor de retorno de scanf al capturar un dato. Como sabes, al capturar valida que lo que se ingrese corresponda al tipo de dato y al modificador enunciados en el comando

Ej


--- Código: C ---if (scanf("%d", &numero) == 1)       printf("El numero introducido fue %dn", numero);  
Quiza pueda servirte

Saludos

m0skit0:
int isdigit(int c);

utz:

--- Cita de: "m0skit0" ---int isdigit(int c);
--- Fin de la cita ---



--- Código: C --- #include<stdio.h>#include<stdlib.h>#include<ctype.h> main(){int a, i;char cadena [6];ETIQUETA:printf("Ingrese numero");fgets (cadena, sizeof (cadena), stdin);for(i=0; isdigit (cadena[i]); i++);if(i==0 || (cadena[i]!='n' && cadena[i])){printf ("Numero no valido. Nuevamente ");goto ETIQUETA;}a = atoi (cadena);printf("El valor de a es: %d",a);} 

gracias por tu ayuda m0skit0  xD :good:

m0skit0:
De nada, pero no uses goto, ni uses isdigit() como condición de un for. Usa while. Con esto te echarían de cualquier trabajo en el que tuvieras un jefe programador, aparte de suspenderte programación.

Salud

utz:
ok, gracias por el consejo xD

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa