Olá, Pedro! Como vai?
Parabéns pela resolução da atividade!
Observei que você criou uma função para organizar o fluxo de autenticação com C#, utilizou muito bem o switch para tratar diferentes opções do usuário e ainda compreendeu a importância de validar entradas com int.TryParse para evitar erros de conversão.
Uma dica interessante para o futuro é separar a lógica de autenticação em funções menores, deixando o código mais modular e fácil de manter. Assim:
void ResultadoFinal() {
Console.WriteLine("Sistema de Autenticação\n-----------------------");
Console.Write("Digite seu nome de usuário: ");
string entrada1 = Console.ReadLine()!;
if (entrada1 != "Admin") {
MostrarMenu(entrada1);
} else {
Console.WriteLine("\nBem-vindo, Administrador.");
}
}
void MostrarMenu(string usuario) {
Console.WriteLine("Usuário não cadastrado");
Console.WriteLine("\nOpções disponíveis");
Console.WriteLine("[1] Cadastrar novo usuário");
Console.WriteLine("[2] Acessar como convidado");
Console.WriteLine("[3] Sair\n");
string entrada2 = Console.ReadLine()!;
if (int.TryParse(entrada2, out int opcao)) {
switch (opcao) {
case 1:
Console.WriteLine($"\nNovo usuário {usuario}, cadastrado com sucesso!");
break;
case 2:
Console.WriteLine("\nAcesso concedido como convidado.");
break;
case 3:
Console.WriteLine("\nAté a próxima.");
break;
default:
Console.WriteLine("\nInsira uma das opções válidas.");
break;
}
} else {
Console.WriteLine("\nInválido! Insira alguma das opções.");
}
}
ResultadoFinal();
Isso faz com que o código fique mais organizado, permitindo que cada parte da lógica seja reutilizada ou expandida com facilidade.
Fico à disposição! E se precisar, conte sempre com o apoio do fórum.
Abraço e bons estudos!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!