SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: baisa en Martes 11 de Enero de 2011, 20:37

Título: pregunta
Publicado por: baisa en Martes 11 de Enero de 2011, 20:37
Yo querria saber esto:
-rechazar los caracteres que estén fuera del intervalo entre el caracter '0' y la 'z' en la tabla ASCII.

¿estaria bien asi?


  for(i=0;i<25;i++)
    {
        printf("Introduce un Elemento del Array: ");
        scanf("%c",&vector);
        if(vector=='#')
        {
             break;
        }
        else
             {
             if(((vector>='a') && (vector<='z')) || ((vector>=0) && (vector<=9))||((vector>='A') && (vector<='Z')))
               {
                  i--;//Al restar i, consigues estar en el mismo punto
               }
             }
    }
Título: Re: pregunta
Publicado por: m0skit0 en Martes 11 de Enero de 2011, 20:48
Se considera mala programación modificar dentro del bucle la variable que se usa como contador en un bucle for.
Título: Re: pregunta
Publicado por: Amilius en Martes 11 de Enero de 2011, 21:13
Queda mucho mejor de esta forma:

Código: C++
  1. char c;
  2. i = 0;
  3. while (i < 25)
  4. {
  5.     printf("Introduce un elemento del arreglo: ");
  6.     scanf("%c", &c);
  7.     if ('#' == c)
  8.     {
  9.         break;
  10.     }
  11.     if (((c >= 'a') && (c <= 'z')) || ((c >= '0') && (c <= '9')) || ((c >= 'A') && (c <= 'Z')))
  12.     {
  13.         vector[i] = c;
  14.         i++;
  15.     }
  16. }
  17.