[ Foro de C ]

Usuario en C con letras

02-Feb-2015 12:49
Gerard lopes recio
4 Respuestas

Tengo que introduir un usuario que por ejemplo es: antonioloto. Si lo escribo bién el programa me tendría que decir algo como: adelante o bienvenido. SI me equivoco me tendría que decir: error. He realizado el siguiente programa para hacerlo pero no me sale:

 
#include <stdio.h>
#include <string.h>
 
#define usuario antonioloto
 
int main()
{
    char texto1[40], usuario[40];
 
    printf("Introduduzca su usuario: ");
    gets(texto1);
 
       if (strcmp(texto1, usuario)==0)
        printf("Puede pasar\n");
    else
        printf("Error\n");
 
    return 0;
}
 


Me gustaría saber en que fallo.

Gracias


03-Feb-2015 01:15
Nacho Cabanes (+31)

Fallas en que no has dado valor a la variable "usuario"


03-Feb-2015 12:05
Gerard lopes recio

Si que le he dado un valor, en char[40]


03-Feb-2015 12:08
Nacho Cabanes (+31)

Eso no le da un valor, sino que le reserva un espacio para almacenar hasta 39 caracteres.

Hasta que no le asignes un valor, contendrá basura, lo que hubiera anteriormente en la posición de memoria en la que el compilador te ha reservado esos 40 bytes.

Si quieres que el usuario que hay que introducir sea "antonioloto", ése será el valor que deberás dar a esa cadena de texto:

 
strcpy(usuario, "antonioloto");
 




03-Feb-2015 12:14
Gerard lopes recio

Gracias :)






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)