Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] TELA DE LOGIN EM C

Boa noite, estou criando uma tela de login em C, mesmo entrando com a senha correta ele me informa que foi dados invalidos, e eu não consigo fazer a contagem de tentativas que a pessoa tem para dar o erro da senha.

void TelaLongin(){

char loginAdmin[15] = "teste";
char login[15];
char senhaAdmin[8] = "123456";
char senha[8];
int LoginEfetuado = 0;
int tentativasLogins = 1;

/// LAÇO DE REPETIÇÃO PARA O LOGIN
while(!LoginEfetuado){

   /// INFORMAÇÕES QUE APARECEM NA TELA PARA LOGIN
    printf("\n-----------BEM VINDO AO SISTEMA-------------\n");
    printf("Digite o seu Login:");
    scanf("%s", loginAdmin, login);
    printf("Digite a sua Senha:");
    scanf("%s", senhaAdmin,senha);
    printf("--------------------------------------------");


   /// CONDICÇÕES
    if(strcmp(loginAdmin,login) == 0 && strcmp(senhaAdmin,senha) == 0 ){
        printf("\n\nLOGADO!\n\n");
        LoginEfetuado = 1;

    }
    else {
        printf("\n-----DADOS INVALIDOS, TENTE NOVAMENTE----------------\n");
        printf("-----RESTAO %d'",3 - tentativasLogins, "TENTATIVA---------");
        tentativasLogins++;
    }
    if (tentativasLogins == 4 ){
        printf("\n------ TRES TENTATIVAS INCORRETA, SUA SENHA FOI BLOQUEADA---\n");
    }
}

}

1 resposta
solução!

Oi Pedro, tudo bem?

Há um problema na forma como você está usando a função scanf para ler os valores de login e senha. A função scanf não deve receber duas strings como argumentos separados. Em vez disso, você deve usar um único formato para ambos.

E também, você está usando os valores de loginAdmin e senhaAdmin diretamente, o que pode não ser o que você deseja. Parece que você está tentando comparar o que foi digitado com as credenciais fixas "teste" e "123456". Recomendaria ajustar a lógica para isso.

Outro ponto importante é que você está incrementando tentativasLogins antes de verificar se atingiu o limite de tentativas. Isso pode levar a uma saída prematura do loop.

Nós temos essa formação Liguagem C que você pode fazer para complementar seus estudos.

Um abraço e bons estudos.