AA

Ana Alcantara01/05/2023 14:59
Compartilhe

Exercício da Boate

  • #.NET C#

Estou escrevendo este artigo depois te ter feito algumas aulas de .NET C# com o excelente professor Buta. Eu vi uma oportunidade de tentar algo um pouco diferente a partir de um exercício da aula. Apesar de eu não ter todo o conhecimento, resolvi me aventurar. Quando eu não consegui mais resolver o problema, pedi ajuda no fórum e um colega.

Resultado: aprendi muito! E espero poder contribuir de alguma forma com mais pessoas.

Esse artigo foi escrito por mim e com a colaboração de Jefferson Viana, nosso colega que me ajudou no fórum.

Problema: Em uma boate a entrada é permitida para maiores de 18 anos e menores de 18 anos com autorização do responsável. Utilize perguntas ao usuário.

Primeiro vamos a pergunta inicial.

Console.WriteLine("Qual é a sua idade:");
// leia-se: Imprima a pergunta "Qual é a sua idade?";

Agora é necessário atribuir uma variável que represente a idade.

int idade = (Console.ReadLine();

// Leia-se: eu tenho uma variável chamada idade do tipo inteiro; 
// e eu quero que ela seja uma leitura do que o meu usuário vai escrever;
// no console;

// Porém, quando o usuário digita um valor no console;
// trata-se de uma sequência de caracteres.;
// Então é preciso converter a resposta da idade em string;

int idade = Convert.ToInt32(Console.ReadLine());

// Leia-se: eu tenho uma variável chamada idade do tipo inteiro que será lida pelo programa;
// após o usuário escrever a resposta da pergunta em formato string que será convertida;
// para o tipo inteiro.

Agora vamos inserir as condiçoes.

if (idade >= 18){

Console.WriteLine("Entrada permitida.");

} 

// Se o usuário tiver 18 anos ou mais, então imprima "Entrada permitida."
// E o programa encerra aqui.

Senão, temos duas possibilidades dentro do else: tem ou não a autorização do responsável.

else {

  Console.WriteLine("Você tem autirização do responsável?");
// Senão, imprima a pergunta "Você tem autirização do responsável?";

  string? autorizacaoDoResponsavel = (Console.ReadLine()); 
// Leia a resposta como uma variável do tipo string nomeada autorizacaoDoResponsavel.;

   if (autorizacaoDoResponsavel == "sim"){
// Se, a variável autorizacaoDoResponsavel for igual a "sim";
// == é uma comparação, não uma atribuição.

      Console.WriteLine("Entrada permitida com autorização do responsável.");
// Então imprima a frase "Entrada permitida com autorização do responsável.";

   } else {
// Senão;

      Console.WriteLine("Entrada proibida.");
// Imprima a frase "Entrada proibida.";
// Programa encerra aqui

   }

Versão final do código:

Console.WriteLine("Qual é a sua idade:");

int idade = Convert.ToInt32(Console.ReadLine());

if (idade >= 18){

Console.WriteLine("Entrada permitida.");

} 

else {

  Console.WriteLine("Você tem autirização do responsável?");
  string? autorizacaoDoResponsavel = (Console.ReadLine()); 

   if (autorizacaoDoResponsavel == "sim"){

      Console.WriteLine("Entrada permitida com autorização do responsável.");

   } else {

      Console.WriteLine("Entrada proibida.");

   }

}

Interessante lembrar que esse código foi feito de maneira simplificada, e funciona com uma limitação. A resposta para a pergunta "Você tem autirização do responsável?" deve ser igual a “sim” escrito em letras minúsculas. Se a resposta for “Sim” ele vai entender como diferente e seguir para “Entrada proibida”.

Se alguém tiver algo para acrescentar será bem recebido.

Compartilhe
Recomendado para você
  • Curso Unity 3D Game Developer
  • Curso Blockchain Specialist
  • Curso Swift & iOS Developer
Comentários (2)
Paulo Vital
Paulo Vital - 01/05/2023 19:24

Poderia usar o método ToLower();

Estou estudando a linguagem ainda, pode ser que tenha soluções melhores, mas essa funciona.



    Console.WriteLine("Você tem autirização do responsável?");

    string? autorizacaoDoResponsavel = (Console.ReadLine());

            autorizacaoDoResponsavel = autorizacaoDoResponsavel?.ToLower();

Marcio Souza
Marcio Souza - 01/05/2023 23:16

Para fins de aprendizado poderia implementar o seguinte raciocínio: para um menor entrar ele precisa da autorização de um responsável, logo haverá duas pessoas ou mais para que uma delas autorize as demais que sejam menores a entrar. Então a ideia seria ler a quantidade de pessoas do grupo, e se a resposta do grupo for uma pessoa e essa for menor a entrada é barrada... É só um complemento para trabalhar o raciocínio, substituindo a etapa de validação através do sim ou não.

Recomendado para vocêCatalog