Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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();
        }
Exemple #7
0
        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();
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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();
        }
Exemple #10
0
        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();
            }
        }
Exemple #11
0
        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();
        }
Exemple #12
0
        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();
        }
Exemple #13
0
        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();
            }
        }
Exemple #14
0
 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);
 }