static void Main() { var tela = new Tela("Trabalhando no Console - Exercício 8"); var entrada = new EntradaDeDados(tela); tela.EscreverNaCor("Imprimir números em ordem crescente e decrescente", Tela.corInformacaoDestaque); tela.PularLinha(); var numeros = new List <double>(); while (true) { var numero = 0.0; if (!entrada.LerDecimal("Informe um número (vazio para sair): ", ref numero)) { break; } numeros.Add(numero); } if (numeros.Count == 0) { return; } tela.PularLinha(); tela.EscreverNaCor("Números sem ordenação: ", Tela.corInformacaoDestaque); foreach (double num in numeros) { tela.EscreverNaMesmaLinhaENaCor(num + ", ", Tela.corResultado); } tela.PularLinha(2); // Aplica a ordenação numeros.Sort(); // Ordem crescente: apresenta os items tela.EscreverNaCor("Números em ordem crescente: ", Tela.corInformacaoDestaque); foreach (double num in numeros) { tela.EscreverNaMesmaLinhaENaCor(num + ", ", Tela.corResultado); } tela.PularLinha(2); // Ordem decrescente: apresenta os items do último para o primeiro tela.EscreverNaCor("Números em ordem decrescente: ", Tela.corInformacaoDestaque); for (int i = numeros.Count - 1; i >= 0; i--) { tela.EscreverNaMesmaLinhaENaCor(numeros[i] + ", ", Tela.corResultado); } tela.PularLinha(2); }
static void Main() { var tela = new Tela("Utilizando POO - Exercício 2"); tela.EscreverNaCor("Classe Pessoa e métodos", Tela.corInformacaoDestaque); var pessoa = new Pessoa(); pessoa.SetarNome("Paulo Ricardo Feijó"); pessoa.SetarDataNascimento(DateTime.Parse("18/11/1989")); pessoa.SetarAltura(1.70); tela.EscreverNaCor(pessoa.ToString(), Tela.corResultado); }
static void ApresentarAlunosComMediaMaiorQueSete(List <Aluno> alunos) { tela.Limpar(); tela.EscreverNaCor("Alunos com média maior que 7.0:", Tela.corInformacao); var alunosComMediaMaiorQueSete = alunos.Where(a => a.Notas.Average() > 7); tela.PularLinha(); foreach (Aluno aluno in alunosComMediaMaiorQueSete) { tela.EscreverNaCor($"{aluno.Nome} - Média: {aluno.Notas.Average()}", Tela.corResultado); } }
static void Main() { var tela = new Tela("Trabalhando no Console - Exercício 5"); var entrada = new EntradaDeDados(tela); tela.EscreverNaCor("Cálculo de Bháskara", Tela.corInformacao); tela.PularLinha(); var a = entrada.LerDecimal("Informe o valor de a: "); var b = entrada.LerDecimal("Informe o valor de b: "); var c = entrada.LerDecimal("Informe o valor de c: "); var bhaskara = new Bhaskara(a, b, c); tela.PularLinha(); tela.EscreverNaCor($"Valor de R1: {bhaskara.R1}", Tela.corResultado); tela.EscreverNaCor($"Valor de R2: {bhaskara.R2}", Tela.corResultado); }
static void Main() { var tela = new Tela("Trabalhando no Console - Exercício 7"); var entrada = new EntradaDeDados(tela); tela.EscreverNaCor("Soma dos números pares", Tela.corInformacaoDestaque); tela.PularLinha(); var numeros = new List <int>(); for (int i = 0; i < _qtdNumeros; i++) { numeros.Add(entrada.LerInteiro($"{i + 1}º número: ")); } var somaPar = numeros.Where(n => n % 2 == 0).Sum(); tela.PularLinha(); tela.EscreverNaCor($"A soma dos números pares é: {somaPar}", Tela.corResultado); }
static void ApresentarMaiorEMenorSalarioComFor(List <Funcionario> funcionarios) { var maiorSalario = funcionarios[0].Salario; var menorSalario = maiorSalario; for (int i = 0; i < funcionarios.Count; i++) { var funcionario = funcionarios[i]; if (funcionario.Salario > maiorSalario) { maiorSalario = funcionario.Salario; } if (funcionario.Salario < menorSalario) { menorSalario = funcionario.Salario; } } tela.EscreverNaCor("Usando o comando For: ", Tela.corInformacao); tela.EscreverNaCor($"Maior salário: {maiorSalario}.", Tela.corResultado); tela.EscreverNaCor($"Menor salário: {menorSalario}.", Tela.corResultado); tela.PularLinha(); }
static void Main() { var tela = new Tela("Utilizando POO - Exercício 3"); tela.EscreverNaCor("Aplicação conta bancária", Tela.corInformacaoDestaque); tela.PularLinha(); tela.EscreverNaCor("Criando uma conta corrente, e realizando uma tentativa de sacar um valor maior que o saldo: ", Tela.corInformacaoDestaque); var contaCorrente1 = new ContaCorrente(1, 0.05); contaCorrente1.Depositar(50.00); tela.EscreverNaCor("Tentativa de saque no valor de 51,00", Tela.corInformacaoDestaque); contaCorrente1.Sacar(51.00); contaCorrente1.MostrarDados(); tela.PularLinha(); tela.EscreverNaCor("Criando uma conta corrente, e realizando uma tentativa de sacar um valor menor que o saldo: ", Tela.corInformacaoDestaque); var contaCorrente2 = new ContaCorrente(2, 0.05); contaCorrente2.Depositar(100.00); tela.EscreverNaCor("Tentativa de saque no valor de 50,00", Tela.corInformacaoDestaque); contaCorrente2.Sacar(50.00); contaCorrente2.MostrarDados(); tela.EscreverNaCor("Criando uma conta especial, e realizando uma tentativa de sacar um valor maior que o saldo + limite: ", Tela.corInformacaoDestaque); var contaEspecial1 = new ContaEspecial(3, 100.00); contaEspecial1.Depositar(100.00); tela.EscreverNaCor("Tentativa de saque no valor de 201,00", Tela.corInformacaoDestaque); contaEspecial1.Sacar(201.00); contaEspecial1.MostrarDados(); tela.EscreverNaCor("Criando uma conta especial, e realizando uma tentativa de sacar um valor menor que o saldo + limite: ", Tela.corInformacaoDestaque); var contaEspecial2 = new ContaEspecial(4, 100.00); contaEspecial2.Depositar(100.00); tela.EscreverNaCor("Tentativa de saque no valor de 200,00", Tela.corInformacaoDestaque); contaEspecial2.Sacar(200.00); contaEspecial2.MostrarDados(); }
static void Main() { tela = new Tela("Trabalhando no Console - Exercício 6"); tela.EscreverNaCor("Diferença entre REF e OUT:", Tela.corInformacaoDestaque); tela.PularLinha(); var texto = "Valor original"; tela.EscreverNaCor($"Valor inicial: [{texto}]", Tela.corInformacao); tela.PularLinha(); PassarParametroComum(texto); tela.EscreverNaCor($"O Valor não é modificado: [{texto}]", Tela.corResultado); tela.PularLinha(); PassarParametroREF(ref texto); tela.EscreverNaCor($"O Valor é modificado: [{texto}]", Tela.corResultado); tela.PularLinha(); texto = "Valor original"; PassarParametroOUT(out texto); tela.EscreverNaCor($"O valor é modificado: [{texto}]", Tela.corResultado); }
static void Main() { var tela = new Tela("Trabalhando no Console - Exercício 3"); tela.EscreverNaCor("Múltiplos de 3 de 1 a 100:", Tela.corInformacao); tela.PularLinha(); var numero = 3; while (numero <= 100) { tela.EscreverNaMesmaLinhaENaCor($"{numero}, ", Tela.corResultado); numero += 3; } tela.PularLinha(); }
static void Main() { var tela = new Tela("Utilizando POO - Exercício 4"); var entrada = new EntradaDeDados(tela); var controle = new ControleRemoto(new Televisao()); var opc = -1; while (opc != 0) { string[] opcoes = { "Selecione a opção do controle remoto:", "1 - Aumentar o volume", "2 - Diminuir o volume", "3 - Ir para o próximo canal", "4 - Voltar para o canal anterior", "5 - Selecionar o canal", "6 - Ver o volume atual", "7 - Ver o canal sintonizado", "0 - Sair", }; opc = entrada.SelecionarItemMenuOpcoes("Selecione a opção do controle remoto: ", opcoes); tela.Limpar(); switch (opc) { case 0: tela.Finalizar(); break; case 1: controle.AumentarVolume(); tela.EscreverNaCor($"Volume: {controle.LerVolume()}", Tela.corResultado); break; case 2: controle.DiminuirVolume(); tela.EscreverNaCor($"Volume: {controle.LerVolume()}", Tela.corResultado); break; case 3: controle.AumentarCanal(); tela.EscreverNaCor($"Canal: {controle.LerCanal()}", Tela.corResultado); break; case 4: controle.DiminuirCanal(); tela.EscreverNaCor($"Canal: {controle.LerCanal()}", Tela.corResultado); break; case 5: var canal = entrada.LerInteiro("Informe o número do canal: "); controle.SintonizarCanal(canal); tela.EscreverNaCor($"Canal: {controle.LerCanal()}", Tela.corResultado); break; case 6: tela.EscreverNaCor($"Volume: {controle.LerVolume()}", Tela.corResultado); break; case 7: tela.EscreverNaCor($"Canal: {controle.LerCanal()}", Tela.corResultado); break; default: tela.EscreverNaCor("Opção inválida!", Tela.corResultado); break; } tela.PularLinha(); } }
static void Main() { var tela = new Tela("Trabalhando no Console - Exercício 9"); var entrada = new EntradaDeDados(tela); tela.EscreverNaCor("Apresentar números utilizando LINQ", Tela.corInformacaoDestaque); tela.PularLinha(); var numeros = new List <int>(); while (true) { var numero = entrada.LerInteiro("Informe um número (zero para sair): "); if (numero == 0) { break; } numeros.Add(numero); } if (numeros.Count == 0) { return; } tela.PularLinha(); tela.EscreverNaMesmaLinhaENaCor("Imprimir todos os números da lista: ", Tela.corInformacaoDestaque); numeros.ForEach(n => tela.EscreverNaMesmaLinhaENaCor($"{n}, ", Tela.corResultado)); tela.PularLinha(); tela.EscreverNaMesmaLinhaENaCor("Imprimir todos os números da lista na ordem crescente: ", Tela.corInformacaoDestaque); numeros.OrderBy(n => n).ToList().ForEach(n => tela.EscreverNaMesmaLinhaENaCor($"{n}, ", Tela.corResultado)); tela.PularLinha(); tela.EscreverNaMesmaLinhaENaCor("Imprimir todos os números da lista na ordem decrescente: ", Tela.corInformacaoDestaque); numeros.OrderByDescending(n => n).ToList().ForEach(n => tela.EscreverNaMesmaLinhaENaCor($"{n}, ", Tela.corResultado)); tela.PularLinha(); tela.EscreverNaMesmaLinhaENaCor("Imprima apenas o primeiro número da lista: ", Tela.corInformacaoDestaque); tela.EscreverNaMesmaLinhaENaCor(numeros.First().ToString(), Tela.corResultado); tela.PularLinha(); tela.EscreverNaMesmaLinhaENaCor("Imprima apenas o ultimo número da lista: ", Tela.corInformacaoDestaque); tela.EscreverNaMesmaLinhaENaCor(numeros.Last().ToString(), Tela.corResultado); tela.PularLinha(); tela.EscreverNaMesmaLinhaENaCor("Insira um número no início da lista: ", Tela.corInformacaoDestaque); numeros.Insert(0, 1000); tela.EscreverNaMesmaLinhaENaCor(numeros.First().ToString(), Tela.corResultado); tela.PularLinha(); tela.EscreverNaMesmaLinhaENaCor("Insira um número no final da lista: ", Tela.corInformacaoDestaque); numeros.Insert(numeros.Count, 2000); tela.EscreverNaMesmaLinhaENaCor(numeros.Last().ToString(), Tela.corResultado); tela.PularLinha(); tela.EscreverNaMesmaLinhaENaCor("Remova o primeiro número: ", Tela.corInformacaoDestaque); numeros.RemoveAt(0); tela.EscreverNaMesmaLinhaENaCor(numeros.First().ToString(), Tela.corResultado); tela.PularLinha(); tela.EscreverNaMesmaLinhaENaCor("Remova o último número: ", Tela.corInformacaoDestaque); numeros.RemoveAt(numeros.Count - 1); tela.EscreverNaMesmaLinhaENaCor(numeros.Last().ToString(), Tela.corResultado); tela.PularLinha(); tela.EscreverNaMesmaLinhaENaCor("Retorne apenas os números pares: ", Tela.corInformacaoDestaque); numeros.Where(n => (n % 2) == 0).ToList().ForEach(n => tela.EscreverNaMesmaLinhaENaCor($"{n}, ", Tela.corResultado)); tela.PularLinha(); tela.EscreverNaCor("Retorne apenas o número informado: ", Tela.corInformacaoDestaque); var num = entrada.LerInteiro("Informe um número: "); var numeroBusca = numeros.Where(n => (n == num)).FirstOrDefault(); if (numeroBusca != 0) { tela.EscreverNaCor("Número encontrado", Tela.corResultado); } else { tela.EscreverNaCor("Número não encontrado", Tela.corErro); } tela.EscreverNaCor("Transforme todos os números da lista em um Array: ", Tela.corInformacaoDestaque); var array = numeros.ToArray(); foreach (int n in array) { tela.EscreverNaMesmaLinhaENaCor($"{n}, ", Tela.corResultado); } tela.PularLinha(); }
static void MostrarOqueEhPOO() { tela.EscreverNaCor("1) O que é POO?", Tela.corInformacaoDestaque); tela.PularLinha(); tela.Escrever("Programação orientada a objetos (POO, ou OOP segundo as suas siglas em inglês) é um paradigma " + "de programação baseado no conceito de \"objetos\", que podem conter dados na forma de campos, também conhecidos " + "como atributos, e códigos, na forma de procedimentos, também conhecidos como métodos. Uma característica de objetos " + "é que um procedimento de objeto pode acessar, e geralmente modificar, os campos de dados do objeto com o qual eles " + "estão associados (objetos possuem uma noção de \"this\" (este) ou \"self\" (próprio))."); // fonte: https://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_orientada_a_objetos tela.PularLinha(); }
static void Main() { var tela = new Tela("Trabalhando no Console - Exercício 1"); var entrada = new EntradaDeDados(tela); var calc = new Calculadora { ValorA = entrada.LerDecimal("Informe o valor de A: "), ValorB = entrada.LerDecimal("Informe o valor de B: ") }; tela.Limpar(); var op = -1; while (op != 0) { string[] opcoes = { "1 - Informar valores de entrada", "2 - Exibir valores de entrada", "3 - Somar", "4 - Subtrair", "5 - Dividir", "6 - Multiplicar", "0 - Sair" }; op = entrada.SelecionarItemMenuOpcoes("Informe o número da opção desejada: ", opcoes); tela.Limpar(); switch (op) { case 0: tela.Finalizar(); break; case 1: calc.ValorA = entrada.LerDecimal("Informe o valor de A: "); calc.ValorB = entrada.LerDecimal("Informe o valor de B: "); break; case 2: tela.EscreverNaCor($"O valor de A é: {calc.ValorA} e ele é {ParOuImpar(calc.ValorA)}", Tela.corResultado); tela.EscreverNaCor($"O valor de B é: {calc.ValorB} e ele é {ParOuImpar(calc.ValorB)}", Tela.corResultado); break; case 3: tela.EscreverNaCor($"Resultado da soma: {calc.Somar()}", Tela.corResultado); break; case 4: tela.EscreverNaCor($"Resultado da subtração: {calc.Subtrair()}", Tela.corResultado); break; case 5: tela.EscreverNaCor($"Resultado da divisão: {calc.Dividir()}", Tela.corResultado); break; case 6: tela.EscreverNaCor($"Resultado da multiplicação: {calc.Multiplicar()}", Tela.corResultado); break; default: tela.EscreverNaCor("Opção inválida!", Tela.corResultado); break; } tela.PularLinha(); } }
static void PassarParametroComum(string txt) { tela.EscreverNaCor($"Passagem de parâmetro comum: O valor chega no método: [{txt}]", Tela.corInformacao); txt = "Modificado comum"; tela.EscreverNaCor(txt, Tela.corInformacao); }