Ir ao conteúdo

Posts recomendados

Postado

Boa noite, 

 

A imagem adicionada é sobre o exercício que estou com problemas. Sou estudante e comecei agora a aprender em C, e não estou conseguindo desenvolver meu código corretamente. se alguém puder me ajudar fico agradecido. 

#include<stdio.h>
int main(){
    int codigo, senha;
    char nome[6]="helio",nome2[6]; 

    printf("Para prosseguir escolha uma das tres opcaos. (1) login, (2) alterar senha, (3) sair. \n");
    scanf("%d", &codigo);
    if(codigo=1){
        printf("Informe o nome de login: \n");
        while(scanf ("%s", &nome2), nome2!="helio"){
        printf("Acesso negado \nInforme o nome de login: \n");
        }
        printf("Informe a senha: \n");    
        while(scanf ("%d", &senha), senha!=100932){
        printf("Acesso negado \nInforme a senha: \n");
        }
        printf("Acesso Permitido.");
    }
        
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WhatsApp Image 2021-05-04 at 21.27.11.jpeg

Postado

@Helio Junnior Sartor Dalmolin  erros de syntaxe's :

#include <stdio.h>
#include <stdlib.h>
#define cls system("cls");
void delay();
// aqui precisa da biblioteca string.h
int main()
{
    int codigo, senha, ret;
    char nome[7]={"helio"},nome2[7];  // precisa de um espaço a mais para o compilador inserir o "\0" finalizador de string
                                      // e das chaves para adicionar na variáveL pois é linguagem c e não c++
    do
    {
        cls
        printf("Para prosseguir escolha uma das tres opcaos.\n");
        printf("(1) login\n");
        printf("(2) alterar senha\n");
        printf("(3) sair.\n");
        scanf("%d", &codigo);
    }while(codigo < 1 || codigo > 3);
    // if(codigo=1)  comparacoes sao com dois sinAis de iGualdade
    // e apenas Hum é para adiçao
    if(codigo == 1)
    {
        //while(scanf ("%s", &nome2), nome2!="helio"){   isso asim nesse formato não funciona
        do
        {
            cls
            printf("Informe o nome de login: ");
            scanf("%s",nome);
            ret = strcmp(nome,nome2);
            if(ret != 0) // se for zero , as strings serão iguais
            {
                printf("Acesso negado \nInforme o nome de login:\n");
                delay();
            }
        }while( ret ); // siginifica enquanto ret diferente de zero .
        printf("Informe a senha: ");    
        while(scanf ("%d", &senha), senha!=100932) // aqui também não funciona assim , modifique igual ao primeiro
        { 
            printf("Acesso negado \nInforme a senha: ");
        }
        printf("Acesso Permitido.");
    }
    return 0;
}
void delay()  // Rotina PerDe tEmPo
{
    for(int i=0; i<60000; i++)  
        for(int i=0; i<20000; i++);
}

 

  • Curtir 1
Postado

Oih  @Helio Junnior Sartor Dalmolin  o enunciado é para exercício das ‘strings’, sua senha também é ‘string’. USUÁRIO e SENHA são STRINGS!

#include<stdio.h>
#include<string.h>
int main( ){
        char _usuario_[24]= {"helio"}, _senha_[24]= {"XXXXX"}; 
        printf( "Para prosseguir escolha uma das tres opcaos.\n\n" 
    
        "(1) Login\n"
        "(2) Alterar senha\n"
        "(3) Sair\n"
        "( )\b\b" );
        int codigo= 0;
        scanf( " %d", &codigo );
        if( codigo == 1 ){
                char usuario[24]= {""}, senha[24]= {""};
                printf("Informe o nome de login: \n");
                while(  scanf (" %s", usuario), strcmp(usuario,_usuario_)/* aqui use a função que compara strings */ ){
                        printf("Acesso negado %s \n"
                               "Informe o nome de login: \n", usuario);
                }
                printf( "Informe a senha: \n");    
                while(  scanf (" %s", senha),   strcmp(senha,_senha_) ){
                        printf("Acesso negado \n"
                               "Informe a senha: \n");
        }
        printf("Acesso Permitido.");
    }
        
}

 

 

PS: Você pede um de cada vez, penso que deveria ser os dois na mesma linha.

Ou se uma entrada por vez, como está, faça a verificação junta, e não uma de cada vez..

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!