• Domingo 15 de Diciembre de 2024, 13:47

Autor Tema:  pregunta  (Leído 1150 veces)

baisa

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
pregunta
« en: Martes 11 de Enero de 2011, 20:37 »
0
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
               }
             }
    }

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: pregunta
« Respuesta #1 en: Martes 11 de Enero de 2011, 20:48 »
0
Se considera mala programación modificar dentro del bucle la variable que se usa como contador en un bucle for.

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: pregunta
« Respuesta #2 en: Martes 11 de Enero de 2011, 21:13 »
0
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.