var dadosDosUsuarios = new Dictionary<string, string>();
void MenuDoSistemaDeLogin()
{
Console.Clear();
Console.WriteLine(@"
█▀ █ █▀ ▀█▀ █▀▀ █▀▄▀█ ▄▀█ █▀▄ █▀▀ █░░ █▀█ █▀▀ █ █▄░█
▄█ █ ▄█ ░█░ ██▄ █░▀░█ █▀█ █▄▀ ██▄ █▄▄ █▄█ █▄█ █ █░▀█
");
Console.WriteLine("Menu de opções\n");
Console.WriteLine("1 - Fazer login");
Console.WriteLine("2 - Registrar login");
Console.WriteLine("3 - Sair");
Console.Write("\nInforme a opção deseja para continuar: ");
int opcao = int.Parse(Console.ReadLine()!);
OpcaoEscolhida(opcao);
}
void OpcaoEscolhida(int opcao)
{
switch(opcao)
{
case 1: FazerLogin();
break;
case 2: RegistrarLogin();
break;
default: Console.WriteLine("Programa finalizado!");
break;
}
}
void FazerLogin()
{
Console.Clear();
Console.WriteLine(@"
█▀▀ ▄▀█ ▀█ █▀▀ █▀█ █░░ █▀█ █▀▀ █ █▄░█
█▀░ █▀█ █▄ ██▄ █▀▄ █▄▄ █▄█ █▄█ █ █░▀█
");
Console.Write("Login: ");
string login = Console.ReadLine()!;
Console.Write("Senha: ");
string senha = Console.ReadLine()!;
ValidarLogin(login, senha);
}
void RegistrarLogin()
{
Console.Clear();
Console.WriteLine(@"
█▀█ █▀▀ █▀▀ █ █▀ ▀█▀ █▀█ ▄▀█ █▀█ █░░ █▀█ █▀▀ █ █▄░█
█▀▄ ██▄ █▄█ █ ▄█ ░█░ █▀▄ █▀█ █▀▄ █▄▄ █▄█ █▄█ █ █░▀█
");
Console.WriteLine("\nInforme o nome de usuário desejado:");
string usuario = Console.ReadLine()!;
Console.WriteLine("\nSenha:");
string senha = Console.ReadLine()!;
Console.WriteLine("\nRepetir senha:");
string confirmarSenha = Console.ReadLine()!;
ValidarDados(usuario, senha, confirmarSenha);
Console.WriteLine("\nRegistro concluido com sucesso!");
Thread.Sleep(2000);
MenuDoSistemaDeLogin();
}
void ValidarLogin(string login, string senha)
{
if (dadosDosUsuarios.TryGetValue(login, out string senhaArmazenada))
{
if (senhaArmazenada == senha)
{
Console.WriteLine("Login autorizado!");
} else
{
Console.WriteLine("Senha incorreta.");
Thread.Sleep(2500);
FazerLogin();
}
} else
{
Console.WriteLine("Usuário não encotrado.");
Thread.Sleep(2500);
FazerLogin();
}
}
void ValidarDados(string usuario, string senha, string confirmarSenha)
{
if (dadosDosUsuarios.ContainsKey(usuario))
{
Console.WriteLine("O nome de usuário ja esta em uso. Tente outro nome.");
Thread.Sleep(2500);
RegistrarLogin();
} else if (senha == confirmarSenha)
{
dadosDosUsuarios.Add(usuario, senha);
} else
{
Console.WriteLine("A senha de confirmação precisa ser igual à senha principal. Corrija e tente novamente.");
Thread.Sleep(2500);
RegistrarLogin();
}
}
MenuDoSistemaDeLogin();