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

[0] Índice de Mensajes

Ir a la versión completa