1
resposta

[Projeto] Verificando acesso

int senha = 42;
Console.Write("DIGITE A SENHA: ");
int senhaDigitada = int.Parse(Console.ReadLine()!);

Console.WriteLine("DIGITE O NIVEL DE ACESSO: ");
int nivel = int.Parse(Console.ReadLine()!);

if(senhaDigitada != senha || nivel <= 5)
{
Console.WriteLine("Acesso Negado.");
}
else
{
Console.WriteLine("Acesso Liberado.");
}

1 resposta

Olá, Izabelly. Como vai?

Sua resolução está muito boa! Você utilizou corretamente a leitura de dados com o int.Parse e aplicou a estrutura condicional para validar o acesso à área restrita.

Para agregar valor ao seu código, quero destacar um ponto muito importante sobre o uso do operador lógico OU (||) na sua condição. Da forma como você escreveu, o acesso só será liberado se o usuário acertar a senha E tiver um nível superior a 5 ao mesmo tempo.

Muitas vezes, em lógica de programação, podemos escrever a mesma regra de duas formas diferentes. Veja como ficaria se você optasse por verificar primeiro as condições de sucesso (Acesso Liberado) em vez das de erro:

  • if (senhaDigitada == senha && nivel > 5)
  • { Console.WriteLine("Acesso Liberado."); }
  • else
  • { Console.WriteLine("Acesso Negado."); }

A principal diferença é que, nessa versão, utilizamos o operador E (&&). É um ótimo exercício mental observar como, ao invertermos o resultado esperado, os operadores lógicos também costumam mudar para manter a mesma regra de segurança.

Parabéns por seguir praticando e compartilhando seus projetos aqui no fórum!

Espero que possa ter lhe ajudado!