Lista de exercícios em C#

Gunnar CorreaGunnar Correa05/03/2016 às 05:59:28 - 70.004 acessos

Resolução completa de nove exercícios usando Visual Studio em Console em C#


Em toda instituição de ensino, seja superior ou não, utilizam diversas listas de exercícios para lecionar aos seus alunos, a fins didáticos e de fixação.

Você irá encontrar aqui, a resolução para nove exercícios utilizando o C# com a IDE Visual Studio, porém você pode utilizar o Mono ou Sharp Develop.

Existem diferentes formas de solucionar estes exercícios, aqui foi utilizado uma delas, sendo assim, você pode obter o mesmo resultado com mais ou menos códigos.

Apresentação

 

1 – Desenvolva um algoritmo que solicite a entrada de um número e calcule se o número é par ou impar.

Solução:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Exercicio_01
{
    class Program
    {
        static void Main(string[] args)
        {
            /* Console.WriteLine("Olá mundo!"); //imprime um valor na tela

             Console.ForegroundColor = ConsoleColor.Blue; //Altera a cor da fonte
             Console.WriteLine("Meu primeiro projeto.");

             Console.ReadKey(); //Aguarda o pressionamento de alguma tecla para continuar
             * 
             */

            int NumeroDigitado;

            Console.Write("Insira um número: "); //Exibe a mensagem

            NumeroDigitado = Convert.ToInt32(Console.ReadLine()); //Lê e converte para int o número informado pelo usuário

            if (NumeroDigitado % 2 == 0)
            {
                //Número Par
                Console.WriteLine("Par");
            }
            else
            {
                //Número Impar
                Console.WriteLine("Impar");
            }

            Console.ReadKey();
        }
    }
}

 

2 – Desenvolva um algoritmo que permita a entrada do nome do usuário e exiba na tela.

Solução:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Exercicio_02
{
    class Program
    {
        static void Main(string[] args)
        {
            string Nome; //Variável que armazena o nome do Usuário.

            Console.Write("Informe o seu nome: ");
            Nome = Console.ReadLine();

            //Console.WriteLine(string.Format("Meu nome é: {0}", Nome));
          //Console.WriteLine("Meu nome é: " + Nome);
            Console.WriteLine("");
            Console.WriteLine("");

            Console.Write("Meu nome é: ");

            Console.ForegroundColor = ConsoleColor.Green;
            Console.Write(Nome);
            Console.ReadKey();
        }
    }
}

 

3 – Desenvolva uma calculadora, onde será necessário entrar com a operação, primeiro e segundo valor, exiba o resultado na tela.

Solução:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exercicio_03
{
    class Program
    {
        static void Main(string[] args)
        {

            double Num1, Num2, Resultado = 0;
            char Operacao;

            Console.WriteLine("Entre com a operação-->");
            Console.WriteLine("+ Adição-------------->");
            Console.WriteLine("- Subtração----------->");
            Console.WriteLine("* Multiplicação------->");
            Console.WriteLine("/ Divisão------------->");
            Console.WriteLine("-----------------------");

            Console.WriteLine();

            Console.Write("Operação: ");

            char.TryParse(Console.ReadLine(), out Operacao);

            Console.WriteLine();
            Console.Write("Informe o primeiro valor: ");
            double.TryParse(Console.ReadLine(), out Num1);

            Console.WriteLine();
            Console.Write("Informe o segundo valor: ");
            double.TryParse(Console.ReadLine(), out Num2);

            Console.WriteLine();
            Console.WriteLine();

            switch (Operacao)
            {
                case '+':
                    Resultado = Adicao(Num1, Num2);
                    break;

                case '-':
                    Resultado = Subtracao(Num1, Num2);
                    break;

                case '*':
                    Resultado = Multiplicacao(Num1, Num2);
                    break;

                case '/':
                    Resultado = Divisao(Num1, Num2);
                    break;
            }

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine(string.Format("Resultado: {0}", Resultado));

            Console.ReadKey();
        }

        private static Double Adicao(double Num1, double Num2)
        {
            return (Num1 + Num2);
        }

        private static Double Subtracao(double Num1, double Num2)
        {
            return (Num1 - Num2);
        }

        private static Double Multiplicacao(double Num1, double Num2)
        {
            return (Num1 * Num2);
        }

        private static Double Divisao(double Num1, double Num2)
        {
            return (Num1 / Num2);
        }
    }
}

 

4 – Desenvolva um algoritmo que solicite a entrada da idade de um determinado usuário, se for menor que 18 anos exiba na cor vermelha “Sem permissão”, caso seja maior ou igual a 18 anos exiba na cor verde “Permissão concedida”.

Solução:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exercicio_04
{
    class Program
    {
        static void Main(string[] args)
        {
            Processar();

            Console.ReadKey();
        }

        private static void Processar()
        {
            int Idade;
            Console.Write("Informe a sua idade: ");
            int.TryParse(Console.ReadLine(), out Idade);

            if (Idade >= 18)
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Acesso permitdo");
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("Acesso Negado");
            }
        }
    }
}

 

5 – Desenvolva um método que receba por parâmetro o um nome, e retorne a frase “Olá meu nome é: {nome recebido}”.

Solução:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exercicio_05
{
    class Program
    {
        static void Main(string[] args)
        {
            string Nome;
            Console.WriteLine("Informe o seu nome: ");

            Nome = Console.ReadLine();

            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.Blue;

            Console.WriteLine(string.Format("Meu nome é: {0}", Nome));

            Console.ReadKey();
        }
    }
}

 

6 – Desenvolva um algoritmo que solicite a entrada de uma frase, após isto troque todas as letras A ou a por &, porém não utilize o método Replace().

Solução:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exercicio_06
{
    class Program
    {
        static void Main(string[] args)
        {

            Program p = new Program();
            string Frase = "Agora eu sou um bom desenvolvedor.";

            Console.WriteLine(p.Alterar(Frase));

            Console.ReadKey();
        }

        private string Alterar(string Frase)
        {
            if (Frase.Trim().Length > 0)
            {
                int Total = Frase.Length;
                int Count = 0;

                var StringBuilder = new StringBuilder(Frase);

                while (Count < Total)
                {
                    if (StringBuilder[Count] == 'o')
                    {
                        StringBuilder[Count] = '&';
                    }
                    Count++;
                }

                Frase = StringBuilder.ToString();

                return Frase;
            }
            else
            {
                return null;
            }
        }
    }
}


7 – Desenvolva um algoritmo que calcule o reajuste salarial. Se o salário for abaixo de 1.700 o ajuste é de R$300.00, se maior de R$ 200.00. Para finalizar, exiba o novo salário na tela.

Solução:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exercicio_07
{
    class Program
    {
        static void Main(string[] args)
        {

            Program p = new Program();
            Double Salario;

            Console.WriteLine("Informe o seu salário, use ponto");

            Console.WriteLine();

            Console.Write("Salario: ");
            double.TryParse(Console.ReadLine(), out Salario);

            Console.WriteLine();

            Console.Write("Salário atual: ");
            Console.ForegroundColor = ConsoleColor.Red;
            Console.Write(Salario.ToString());


            Console.ResetColor();
            Console.WriteLine();

            Console.WriteLine("\a");

            Console.Write("Novo salário: ");
            Console.ForegroundColor = ConsoleColor.Green;

            Console.Write(p.CalculaSalario(Salario));

            Console.ReadKey();
        }

        private double CalculaSalario(double Salario)
        {

            double NovoSalario = 0;

            if (Salario >= 1700)
            {
                NovoSalario = (Salario + 200);
            }
            else
            {
                NovoSalario = (Salario + 300);
            }

            return NovoSalario;

        }
    }
}

 

8 - Desenvolva um algoritmo que solicite a entrada de nome, e-mail, telefone e RG de um determinado usuário e grave em um arquivo de texto. Exiba as informações na tela a partir do arquivo de texto gerado.

Solução:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace exercicio_08
{
    class Program
    {
        static void Main(string[] args)
        {
            string acao = "";
            string caminho = "usuario.txt";
            string nome = "", email = "", telefone = "", rg = "";

            Console.WriteLine("##########################");
            Console.WriteLine("##########################");
            Console.WriteLine("G- Gravar ################");
            Console.WriteLine("L- Ler ###################");
            Console.WriteLine("S - Sair #################");
            Console.WriteLine("##########################");
            Console.WriteLine("##########################");
            Console.Write("Digite uma operação: ");

            acao = Console.ReadLine().ToUpper();
            Console.WriteLine();

            while (acao != "S")
            {

                if (acao == "G")
                {
                    Console.Write("Informe seu nome: ");
                    nome = Console.ReadLine();

                    Console.Write("Informe seu e-mail: ");
                    email = Console.ReadLine();

                    Console.Write("Informe seu Telefone: ");
                    telefone = Console.ReadLine();

                    Console.Write("Informe seu RG: ");
                    rg = Console.ReadLine();

                    StreamWriter sw = new StreamWriter(caminho, true);

                    sw.WriteLine("Nome: " + nome);
                    sw.WriteLine("E-mail: " + email);
                    sw.WriteLine("Telefone: " + telefone);
                    sw.WriteLine("RG: " + rg);
                    sw.WriteLine("--------------------------------------------------");

                    sw.Close();
                }
                else if (acao == "L")
                {
                    StreamReader sr = new StreamReader(caminho);

                    while (sr.EndOfStream != true)
                    {
                        Console.WriteLine(sr.ReadLine());
                    }

                    sr.Close();
                }

                Console.WriteLine();
                Console.WriteLine("Pressione uma tecla para continuar...");
                Console.ReadKey();

                Console.Clear();
                Console.WriteLine("##########################");
                Console.WriteLine("##########################");
                Console.WriteLine("G- Gravar ################");
                Console.WriteLine("L- Ler ###################");
                Console.WriteLine("S - Sair #################");
                Console.WriteLine("##########################");
                Console.WriteLine("##########################");
                Console.Write("Digite uma operação: ");

                acao = Console.ReadLine().ToUpper();
                Console.WriteLine();

            }
        }
    }
}


9 – Desenvolva um algoritmo que calcule o IMC de uma determinada pessoa, e grave os resultados em um arquivo de texto, onde ao acessar a aplicação será solicitado se quer fazer um novo cadastro ou consultar os existentes. Cadastrando um novo calculo de IMC, será necessário informar o nome, idade, peso e altura. O cálculo do IMC é feito dividindo o peso (em quilogramas) pela altura (em metros) ao quadrado. Ao gravar em um arquivo de texto, os dados anteriores deverão ser mantidos.

Solução:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exercicio_09
{
    class Program
    {
        static void Main(string[] args)
        {
            string acao = "";
            string caminho = "imc.txt";
            double peso, altura, imc;
            string nome, resultado = "";
            int idade;

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("#####################");
            Console.WriteLine("N - Novo ############");
            Console.WriteLine("C - Consultar #######");
            Console.WriteLine("S - Sair#############");
            Console.WriteLine("#####################");
            Console.ForegroundColor = ConsoleColor.Cyan;
            Console.Write("Informe uma operação: ");
            Console.ResetColor();

            acao = Console.ReadLine().ToUpper();
            Console.WriteLine();

            while (acao != "S")
            {
                if (acao == "N")
                {
                    Console.Write("Informe o nome: ");
                    nome = Console.ReadLine();

                    Console.Write("Informe a idade: ");
                    int.TryParse(Console.ReadLine(), out idade);

                    Console.Write("Informe o peso: ");
                    double.TryParse(Console.ReadLine(), out peso);

                    Console.Write("Informe a altura: ");
                    double.TryParse(Console.ReadLine(), out altura);

                    imc = Math.Round((peso / (altura * altura)));

                    if (imc < 18.5)
                    {
                        resultado = "Peso abaixo do normal";
                    }
                    else if (imc > 18.5 && imc < 25)
                    {
                        resultado = "Peso normal";
                    }
                    else if (imc > 25 && imc < 30)
                    {
                        resultado = "Sobre peso";
                    }
                    else if (imc > 30 && imc < 35)
                    {
                        resultado = "Grau de obesidade I";
                    }
                    else if (imc > 35 && imc < 40)
                    {
                        resultado = "Grau de obesidade II";
                    }
                    else if (imc > 40)
                    {
                        resultado = "Grau de obesidade III";
                    }


                    if (resultado != "" && imc > 0 && altura > 0 && peso > 0 && nome.Trim().Length > 2 && idade > 0)
                    {


                        StreamWriter sw = new StreamWriter(caminho, true);

                        sw.WriteLine(string.Format("Nome: {0}", nome));
                        sw.WriteLine(string.Format("Idade: {0}", idade));
                        sw.WriteLine(string.Format("Peso: {0}", peso));
                        sw.WriteLine(string.Format("Altura: {0}", altura));
                        sw.WriteLine(string.Format("IMC: {0}", imc));
                        sw.WriteLine(string.Format("Resultado: {0}", resultado));
                        sw.WriteLine("------------------------------------------");

                        sw.Close();
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                        Console.WriteLine();
                        Console.WriteLine("-->Dados inválidos, operação cancelada!!!");
                        Console.WriteLine();
                        Console.ResetColor();
                    }
                }
                else if (acao == "C")
                {
                    StreamReader sr = new StreamReader(caminho);

                    while (!sr.EndOfStream)
                    {
                        Console.WriteLine(sr.ReadLine());
                    }

                    sr.Close();
                }

                Console.WriteLine();
                Console.WriteLine("Pressione uma tecla para continuar");
                Console.ReadKey();


                Console.Clear();
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("#####################");
                Console.WriteLine("N - Novo ############");
                Console.WriteLine("C - Consultar #######");
                Console.WriteLine("S - Sair#############");
                Console.WriteLine("#####################");
                Console.ForegroundColor = ConsoleColor.Cyan;
                Console.Write("Informe uma operação: ");
                Console.ResetColor();

                acao = Console.ReadLine().ToUpper();
                Console.WriteLine();
            }

        }
    }
}

Dúvidas, criticas ou quaisquer sugestão, deixe nos comentário.


C# CSharp Lista exercícios Aulas Grátis Programação Tutorial Visual Studio Microsoft While For Arquivo texto

Compartilhe


Gunnar Correa

Gunnar Correa

Autodidata, Graduado em Desenvolvimento Web (FIPP), Especialista em Tecnologias na Educação (Unoeste) e Pós-graduando em Segurança da Informação (Universidade Cruzeiro do Sul). Começou seus estudos na área de programação quando era criança, e atualmente está estudando desenvolvimento de jogos. É CEO do portal SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.



Comentários

1 / 8