Eu escrevi o seguinte código como solução para o problema 4:
Dictionary<string, List<int>> logins = new()
{
{"Pedro", new List<int>{6423}},
{"João", new List<int>{5589}},
{"CláudiaArraia123", new List<int>{5555}}
};
void Login()
{
Console.Write("Usuário: ");
string usuarioRespostaLogin = Console.ReadLine()!;
if(logins.ContainsKey(usuarioRespostaLogin))
{
void Senha()
{ Console.Write("Senha: ");
int usuarioRespostaSenha = int.Parse(Console.ReadLine()!);
if(logins[usuarioRespostaLogin].Contains(usuarioRespostaSenha))
{
Console.WriteLine("Você está logado.");
Thread.Sleep(5000);
Console.Clear();
}
else
{
Console.WriteLine("Senha incorreta.");
Thread.Sleep(2000);
Console.Clear();
Senha();
}}
Senha();
}
else
{
Console.WriteLine("Este usuário não existe.");
Thread.Sleep(2000);
Console.Clear();
Login();
}
}
Login();
Só que, no terminal, os logins "João" e "CláudiaArraia123" não são identificados, ele retorna o "Este usuário não existe.", mesmo que eu dê Ctrl+C, Ctrl+V, não vai. Teorizo que tenha algo a ver com os acentos das palavras, mas não sei como ajeitar.