• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

fpinto

programa da erro na pass

10 mensagens neste tópico

boas, fiz este pequeno programa só porque já não faço nada a muito e assim esqueço-me de como se faz. mas ele deu-me um erro. não e bem um erro mas no

 if (a=='pw') 

esta sempre mal mas se puser apenas um = esta sempre certo. o que faço?

aqui esta o código:

int main()
{
  int a,b;

  printf("intruduza a password");
  puts("");
  puts("");
  puts("");

  scanf("%d", &a);

  puts("");
  puts("");

  if (a='pw')
  {
  printf("a password esta correta");
  }
  if (a!='pw')
  {
  printf("a password esta errada, o programa ira auto encerrarse-a");
      puts("");
      puts("");
      puts("");
  system("PAUSE");
  return 0;
  }

  puts("");
  puts("");

  printf("escolha umas das seguintes opcoes"); puts("");   puts("");
  printf("1- encerrar o programa");                     puts("");
  printf("2- sem ideias");                                       puts("");
  printf("3- sem ideias");                                                puts("");

  puts("");
  puts("");
  scanf("%d",&b);

    switch (b)
  {
  case 1: printf("ok, assim sera  \n\n ");
          system("PAUSE");
          return 0;
                   break;

  case 2: puts("ainda nao tenho ideias para isto. se tiveres alguma avisame");
          printf("ate la o programa encerrarse-a");
          system("PAUSE");
          return 0;
                   break;

  case 3: puts("ainda nao tenho ideias para isto. se tiveres alguma avisame");
          printf("ate la o programa encerrarse-a");
          system("PAUSE");
          return 0;
                   break;
  }

system("PAUSE");
return 0;
}

cumps fpinto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E ainda metes inteiros pelo meio... Tanto a variável a como 'pw' deviam ser strings, não?

E depois usavas o strcmp para comparar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Atenção que 'pw' não é uma string. Só se usam as plicas (' ') para caracteres individuais (como 'a' ou '2') e não para conjuntos de caracteres (as chamadas strings). Se se quiser usar strings faz-se qualquer coisa do género:

char * d = "pw";
char another [13] = "outra string";

O compilador de C deve dar algum warning quando se usa 'pw' com certeza...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim, deu um erro ai. eu continuei. ja agora. eu ao escrever a pass ela aparece la como eu a escrevo. nao e possivel pola com os *?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim, deu um erro ai. eu continuei. ja agora. eu ao escrever a pass ela aparece la como eu a escrevo. nao e possivel pola com os *?

É possível, mas não é muito simples... tens de usar unbuffered input.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

como e que uso o unbuffered input? e so escrever unbuffered input scanf("...?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora