Programación General > C/C++
Comparar char con int.
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
[*] Página Anterior
Ir a la versión completa