Programación General > C/C++
Como Evitar error ....
(1/1)
cltomas:
Tengo el siguiente código:
--- Código: C --- /* Hecho por Cltomas *//*-----------------------------------Eterno Autodidacta ------------------------*//* "No hay mejor Aprendizaje que el impuesto por uno mismo" by Cltomas 2011....*/ #include <stdio.h> /* pide 5 números entre 1 y 30 e imprime la cantidad como *'s */ int main(){ int a, n; int cont = 1; while ( cont++ != 6) { printf("nIngresa 5 números entre 1 - 30 =>"); scanf("%d", &a); getchar(); if ((a >=1)&&(a<=30)) { printf("n"); for ( n = a; n > 0; n--) printf("*"); printf("n"); } else { printf("nNúmero fuera de Rango, Se sale del Programan"); break; } } printf("n"); return 0;} Funciona bien, si introduces de uno en uno los números, pero, siempre hay un pero, si ingreso números de la siguiente manera," 1.2.3.4.5", y lo mismo con "1,2,3,4,5" sucede esto en el programa:
--- Código: C --- @ldebian:~/Desktop$ ./fg Ingresa 5 números entre 1 - 30 =>1.2.3.4.5* Ingresa 5 números entre 1 - 30 =>** Ingresa 5 números entre 1 - 30 =>*** Ingresa 5 números entre 1 - 30 =>**** Ingresa 5 números entre 1 - 30 =>***** Ahora mi pregunta, ¿Como evito este tipo de errores? Siempre hay curiosos por así decirlo, que buscaran algún error y mis programas aunque básicos, no quiero que tengan esos errores, si es que puedo evitarlos claro..... Desde ya muchas gracias...
Leber:
Quizá quieras ayudarte de fgets y sscanf, van bastante mejor, al menos en mi experiencia, y no son tan propensos a errores como scanf.
Saludos
Navegación
Ir a la versión completa