1
resposta

Verificação de Acesso - Check Access

namespace PracticingCSharp
{
    internal class CheckAccess
    {
        public void Check()
        {
            Console.WriteLine("Welcome to the chemistry laboratory!");
            Console.WriteLine("To access you need to enter your password and enter your access level!");
            Console.WriteLine("First, enter your password:");
            _ = int.TryParse(Console.ReadLine(), out int password);
            if (password == 42)
            {
                Console.WriteLine("Your password is correct. Now enter your access level:");
                _ = int.TryParse(Console.ReadLine(), out int level);
                if (level > 5)
                {
                    Console.WriteLine("Your access level allows you to enter the laboraty. WELCOME!!");
                }
                else
                {
                    Console.WriteLine("Your access level does not allows you to enter the laboratory. I'm Sorry!");
                }
            }
            else
            {
                Console.WriteLine("Your password is wrong, try again!");
            }
        }
    }
}

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Oi, Rafael! Como vai?

Do jeito que você explicou, notei que você já usa int.TryParse e if aninhado para checar password e depois level — isso mostra cuidado com a validação de entrada. Pontos importantes: validar o retorno de TryParse antes de comparar evita erros quando o usuário digita texto; também vale corrigir o pequeno typo em mensagens (por exemplo "laboraty""laboratory").

Uma dica interessante para o futuro é usar uma verificação que combine TryParse com a condição do valor, deixando o fluxo mais claro. Veja este exemplo em C# (formatação HTML de bloco de código):


namespace PracticingCSharp
{
    internal class CheckAccess
    {
        public void Check()
        {
            Console.WriteLine("Welcome to the chemistry laboratory!");
            Console.WriteLine("Enter your password:");
            if (int.TryParse(Console.ReadLine(), out int password) && password == 42)
            {
                Console.WriteLine("Password correta. Digite o nivel de acesso:");
                if (int.TryParse(Console.ReadLine(), out int level) && level > 5)
                {
                    Console.WriteLine("Seu nivel de acesso permite entrada no laboratory. Bem-vindo.");
                }
                else
                {
                    Console.WriteLine("Seu nivel de acesso nao permite entrada no laboratory.");
                }
            }
            else
            {
                Console.WriteLine("Senha incorreta. Tente novamente.");
            }
        }
    }
}

Veja este trecho sem acentuação e em code inline: if (int.TryParse(Console.ReadLine(), out int password) && password == 42) — ele garante que a entrada foi convertida antes de comparar.

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