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.