função para pedir senha

Publicado por Helton Barbosa Santos Ferreira 29/03/2006

[ Hits: 11.120 ]

Download função para pedir senha.txt




Este código é para criar uma função para pedir senha ao usuário. No código pode usar os '*', '●', ou qualquer caractere que queira mostrar na tela quando o usuário digitar a senha.

  



Esconder código-fonte

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

#define BACKSPACE 8
char *le_senha(const char *prompt)
{
   static char buffer[128];
   int i=0;
   char letra=NULL;
   
   printf(prompt);
   while((i<127)&&(letra!='\r'))
   {
      letra=getch();
      if(letra==BACKSPACE)
      {
         if(i>0)
         {
            buffer[--i]=NULL; //apaga o * anterior
            putchar(BACKSPACE);
            putchar(' ');
            putchar(BACKSPACE);
         }
         else
         putchar(7); //emite um aviso sonoro
      }
      else if(letra!='\r')
      {
         buffer[i++]=letra;
         putchar('*');
      }
   }
   buffer[i]=NULL;
   return(buffer);
}
main()
{
   char *senha;
   senha=getpass("Digite uma Senha: ");
   if(strcmp(senha,"123")); //compara se o conteudo da variavel senha é igual a 123
      printf("Senha Incorreta\n");
   else
      printf("Senha OK\n");
}

Scripts recomendados

Countup

Url visitor

Signal

Cadastro de alunos em C

Goldbach


  

Comentários
[1] Comentário enviado por RafaelSousa em 01/04/2007 - 11:00h

Na verdade o código fonte tem 2 pequenos erros.

1º - main()
{
char *senha;
senha=getpass("Digite uma Senha: ");

na verdade senha=le_senha("Digite uma Senha: ");

2º - if(strcmp(senha,"123")); //compara se o conteudo da variavel senha é igual a 123
printf("Senha Incorreta\n");

depois do if não se põe ";" pq senão o else não terá função e sempre aparecerá Senha incorreta!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts