Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: LucasNahuel en 13 Mayo 2016, 15:44 pm



Título: Duda verificacion solo letras y numeros!
Publicado por: LucasNahuel en 13 Mayo 2016, 15:44 pm
Hola a todos!!
tengo una duda, tengo que hacer un tp para la facultad, donde tengo que validar que un string tenga solo letras,numeros y espacios.. pero no logro que me lea el espacio, es decir, me guarda en una variable solo lo que pongo en la primera palabra, pero la segunda no.. o me tira algun error..

Citar
int getPelicula(char mensaje[],char input[]) //Funcion declarada
{
    int i=0;
    char aux[250];

    printf(mensaje);
    scanf("%s", aux);

    while(aux[ i ] != '\0') //los espacio dentro del [] es para que se vea la i.
    {
        if((aux[ i ] != '  ') && (aux[ i ]<'a' || aux[ i ]>'z') && (aux[ i ]<'A' || aux[ i ]>'Z')&&(aux[ i ]<'0' || aux[ i ]>'9'))
            {
                return 0; //si no es letras ni numeros, ni espacio.
            }
        i++;
    }
    strcpy(input,aux); //una vez comprabado lo guarda en el lugar que tendria que ir.
    return 1; //indicando que se pudo comprobar.
}


Título: Re: Duda verificacion solo letras y numeros!
Publicado por: fary en 13 Mayo 2016, 15:59 pm
scanf lee solo hasta el primer espacio...

Haz la prueba introduciendo "hola mundo":

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.    char Buffer[250];
  7.  
  8.    scanf("%s", Buffer);
  9.  
  10.    printf("%s", Buffer);
  11.    return 0;
  12. }
  13.  

saludos.