2
respostas

Autenticação de usuário

void ResultadoFinal()
{
    Console.WriteLine("Sistema de Autenticação" + Environment.NewLine + "-----------------------");
    Console.Write("Digite seu nome de usuário: ");
    string entrada1 = Console.ReadLine()!;

    if (entrada1 != "Admin")
    {
        Console.WriteLine("Usuário não cadastrado");
        Console.WriteLine("\nOpções disponíveis");
        Console.WriteLine("\n[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 saida1))
        {
            switch (saida1)
            {
                case 1:
                    Console.WriteLine($"\nNovo usuário {entrada1}, 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");
                break;
            }
        }
        else
        {
            Console.WriteLine("\nInválido! Ensira alguma das opções");
        }

    }
    else
    {
        Console.WriteLine("\nBem-vindo, Administrador.");
    }
    
}
ResultadoFinal();
2 respostas

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!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Obrigado pela orientação, poderia me explicar o motivo do

void MostrarMenu(string usuario)

Por qual motivo ele tem essa string usuario dentro?