Pular para o conteúdo

função para pedir senha

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.
Helton Barbosa Santos Ferreira HeltonBarbosa
Hits: 11.530 Categoria: C/C++ Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.
Download função para pedir senha.txt Enviar nova versão

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");
}

Script em C++ de uma Lista Estática.

Calculo do número de Euler em C++

Cálculo do dia da semana

Múltiplos de bit e byte

Cadastro de alunos em C

#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

Entre na sua conta para comentar.