Jump to content
Bruno Revez

Programa não deixa fazer login

Recommended Posts

Bruno Revez

Boa tarde a todos,

Sou novo por aqui e esta e a minha primeira duvida neste site.

É o seguinte, eu tenho um programa que nao sei onde está o problema.

Cada vez que eu tento fazer um login, ao meter o utilizador o programa crachá e nao me deixa meter a password. 

 

PS:Já tentei meter o comando fflush(stdin); para limpar o buffer mas nao dá na mesma.

Agradeço desde já a todos.

 

typedef struct USER
{
    char Username[10+1];
    char Password[10+1];
}USER;

typedef struct USERS
{
    int nUsers;
    USER user[MAX];
    char Password[10+1];
}USERS;


void ask();


int main()
{
    USERS users;
    ask(&users);
    return 0;
}

void ask(USERS *users)
{
    char username[10+1];
    char password[20+1];

    printf("Please put a username: ");
    gets(username);
    strcpy(users->user[users->nUsers].Username,username);
   
    printf("Please put a username: ");
    gets(username);
    strcpy(users->user[users->nUsers].Password,password);

    if(strcmp(users->user[users->nUsers].Username,username)==0)
    {
        if(strcmp(users->user[users->nUsers].Password,password)==0)
    {
        printf("ENTREI");
    }
    }else
    {
        printf("FALHEI");
    }

}

 

 

Share this post


Link to post
Share on other sites
HappyHippyHippo

não estás a inicializar a estrutura users. esta estrutura não qualquer tipo de valor.

responde a esta questão : que valor está no parâmetro users.nUsers ?

  • Vote 1

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Bruno Revez
17 minutos atrás, HappyHippyHippo disse:

não estás a inicializar a estrutura users. esta estrutura não qualquer tipo de valor.

responde a esta questão : que valor está no parâmetro users.nUsers ?

#define  MAX 10

 

Share this post


Link to post
Share on other sites
HappyHippyHippo
3 minutes ago, Bruno Revez said:

#define  MAX 10

 

1º : qual a linha de código que diz isso ?

2º : qual o real significado desse parâmetro ?


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Bruno Revez
4 horas atrás, HappyHippyHippo disse:

1º : qual a linha de código que diz isso ?

2º : qual o real significado desse parâmetro ?

Obrigado na mesma  tinha uma coisa mal, o meu users.nUsers nao estava inicializado a 0.

Obrigado na mesma. 

resultado:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define FALSE 0
#define TRUE !FALSE
#define  MAX 10

#ifdef _WIN32 // Se o sistema operativo for Windows
    #define CLS system("cls")
#elif defined __unix__ // Se o sistema operativo for Linux
    #define CLS system("clear")
#elif defined __APPLE__
// do something for mac
#endif

static int i=0;

typedef struct USER
{
    char Username[10+1];
    char Password[10+1];
}USER;

typedef struct USERS
{
    int nUsers;
    USER user[MAX];

}USERS;


void ask();


int main()
{
    USERS users;
    users.nUsers=0;
    ask(&users);
    return 0;
}

void ask(USERS *users)
{
    char username[10+1];
    char password[20+1];

    printf("Please put a username: ");
    gets(username);
    strcpy(users->user[users->nUsers].Username,username);

    printf("Please put a password: ");
    gets(password);
    strcpy(users->user[users->nUsers].Password,password);

    if(strcmp(users->user[users->nUsers].Username,username)==0)
    {
        if(strcmp(users->user[users->nUsers].Password,password)==0)
    {
        printf("ENTREI");
    }
    }else
    {
        printf("FALHEI");
    }

}

 

Share this post


Link to post
Share on other sites
HappyHippyHippo
42 minutes ago, Bruno Revez said:

Obrigado na mesma  tinha uma coisa mal, o meu users.nUsers nao estava inicializado a 0.

 

1 hour ago, HappyHippyHippo said:

não estás a inicializar a estrutura users. esta estrutura não qualquer tipo de valor.

já te tinham dito ...


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.