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.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!