• Jueves 14 de Noviembre de 2024, 23:12

Autor Tema:  Como Evitar error ....  (Leído 1067 veces)

cltomas

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Como Evitar error ....
« en: Martes 29 de Marzo de 2011, 19:19 »
0
Tengo el siguiente código:

Código: C
  1.  
  2.                                    /* Hecho por Cltomas */
  3. /*-----------------------------------Eterno Autodidacta ------------------------*/
  4. /* "No hay mejor Aprendizaje que el impuesto por uno mismo" by  Cltomas 2011....*/
  5.  
  6.  
  7. #include <stdio.h>
  8.  
  9. /* pide 5 números entre 1 y 30 e imprime la cantidad como *'s */
  10. int main()
  11. {
  12.    int a, n;
  13.    int cont = 1;
  14.    
  15.     while ( cont++ != 6)
  16.     {
  17.      printf("nIngresa 5 números entre 1 - 30 =>");
  18.      scanf("%d", &a);
  19.      getchar();
  20.    
  21.      if ((a >=1)&&(a<=30))
  22.        {
  23.         printf("n");
  24.         for ( n = a; n > 0; n--)
  25.             printf("*");
  26.         printf("n");
  27.         }
  28.      else
  29.          {
  30.          printf("nNúmero fuera de Rango, Se sale del Programan");
  31.                 break;      
  32.           }
  33.     } printf("n");
  34.       return 0;
  35. }            
  36.  
  37.  
  38.  
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
  1.  
  2. @ldebian:~/Desktop$ ./fg
  3.  
  4. Ingresa 5 números entre 1 - 30 =>1.2.3.4.5
  5. *
  6.  
  7. Ingresa 5 números entre 1 - 30 =>
  8. **
  9.  
  10. Ingresa 5 números entre 1 - 30 =>
  11. ***
  12.  
  13. Ingresa 5 números entre 1 - 30 =>
  14. ****
  15.  
  16. Ingresa 5 números entre 1 - 30 =>
  17. *****
  18.  
  19.  
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

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
Re: Como Evitar error ....
« Respuesta #1 en: Martes 29 de Marzo de 2011, 23:39 »
0
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