No artigo de hoje, eu vou mostrar como criar uma aplicação console com um menu de opções para resolver 10 problemas matemáticos básicos usando a linguagem C#.
Você saber criar um menu de opções em uma aplicação Console? Sabe como tratar a seleção do usuário, executar a opção e retornar ao menu? Pois neste artigo eu vou mostrar como você pode realizar essas tarefas.
Os métodos da classe Console usados no exemplo são: o console é uma janela do sistema operacional em que os usuários interagem com o sistema operacional ou com um aplicativo de console baseado em texto para inserir a entrada de texto no teclado do computador, e à leitura de saída de texto de terminal do computador.
- WriteLine: O método Console.Writeline escreve a linha atual para a saída padrão, no caso o Console. A linha padrão terminador é uma cadeia de caracteres cujo valor é um retorno de carro seguido por uma alimentação de linha (‘\r \n’ no C#, ou por vbCrLf no Visual Basic);
- Write: O método Console.Writeline escreve a linha atual para a saída padrão;
- ReadLine: Lê a próxima linha de caracteres da entrada padrão (Console);
- ReadKey: Obtém o próximo caractere ou tecla de função pressionada pelo usuário.
Recursos usados: Microsoft Visual Studio 2013 Express for Windows Desktop.
Criando o projeto no Visual Studio 2013 Express for windows desktop
Abra o VS 2013 Express for windows desktop e clique em New Project. Selecione a linguagem Visual C# e o template Console Application. Depois informe o nome Matematica_CSharp e clique no botão OK.
Vamos agora definir as seguintes declarações dos namespaces usados:
using System;
A seguir, vamos definir o código na rotina Main() do arquivo Programa.cs que chama o método Menu() para criar o menu de opções:
static void Main(string[] args)
{
Menu();
}
O código do menu exibe os 10 problemas matemáticos enumerados, onde o usuário deverá teclar o número referente a respectiva opção para resolver o problema:
public static void Menu()
{
Console.Clear();
Console.WriteLine("1. Gerar a Série de Fibonacci" +
Environment.NewLine + "2. Gerar o Fatorial de um Número" +
Environment.NewLine + "3. Gerar a Soma de N Números" +
Environment.NewLine + "4. Obter os fatores de um número" +
Environment.NewLine + "5. Verificar se um número é um número de Armstrong" +
Environment.NewLine + "6. Verificar se um número é um número Perfeito" +
Environment.NewLine + "7. Calcular o MDC entre dois números" +
Environment.NewLine + "8. Calcular o MMC entre dois números" +
Environment.NewLine + "9. Verificar se um número é Primo" +
Environment.NewLine + "10. Calcular a raiz cúbica de um número" +
Environment.NewLine + "");
var resposta = Console.ReadLine();
int escolha = 0;
if (int.TryParse(resposta, out escolha))
{
switch (escolha)
{
case 1:
Cabecalho("Gerar Série de Fibonaci");
Gerar_Serie_Fibonaci();
break;
case 2:
Cabecalho("Gerar Fatorial de um número.");
Gerar_Fatorial_Numero();
break;
case 3:
Cabecalho("Gerar Soma de N números");
Gerar_Soma_Numeros();
break;
case 4:
Cabecalho("Obter os fatores de um número");
Obter_Fatores_Numero();
break;
case 5:
Cabecalho("Verificar se um número e um número de Armstrong");
Verificar_Numero_Armstrong();
break;
case 6:
Cabecalho("Verificar se um número é um número Perfeito");
Verificar_Numero_Armstrong();
break;
case 7:
Cabecalho("Calcular o MDC entre dois números");
CalcularMaiorDivisorComum();
break;
case 8:
Cabecalho("Calcular o MMC entre dois números");
CalcularMenorMultiploComum();
break;
case 9:
Cabecalho("Verificar se um número é Primo");
VerificarNumerosPrimos();
break;
case 10:
Cabecalho("Calcular a raiz cúbica de um número");
Calcular_Raiz_Cubica();
break;
default:
Console.WriteLine("Opção Incorreta!!!" +
Environment.NewLine + "Pressione qualquer tecla para Sair");
Console.ReadKey();
break;
}
}
else
{
Console.WriteLine("Informe somente valores numéricos!!!" +
Environment.NewLine + "Pressione qualquer tecla para Sair");
Console.ReadKey();
}
}
No código estamos usando o comando Switch para simular muitas condições if..else. Todos os tipos primitivos (int, string, decimal, short etc) podem ser usados nas instruções switch/case.
Cada rótulo Case especifica um valor constante onde a expressão de opção transfere o controle para a seção switch, cujo rótulo Case corresponde ao valor da expressão switch.
Note que usamos instruções break para sair do bloco. Sem isto o próximo bloco Case seria executado.
A seguir, temos o código dos métodos que serão usados para exibir o cabeçalho, o rodapé e imprimir um texto no console:
public static void Cabecalho(string texto)
{
Console.WriteLine("==================================================");
Console.WriteLine(texto);
Console.WriteLine("==================================================");
}
public static void Rodape(string texto)
{
Console.WriteLine(texto);
Console.ReadLine();
}
public static void Texto(string texto)
{
Console.WriteLine(texto);
}
Agora temos o código de cada um dos métodos que são chamados pela respectiva opção do menu para resolver o problema.
Abaixo temos os 5 primeiros métodos:
-
Gerar_Serie_Fibonacci
-
Gerar_Fatorial_Numero
-
Gerar_Soma_Numeros
-
Obter_Fatores_Numero
-
Verificar_Numero_Armstrong
Agora, que tal você tentar resolver cada um desses problemas para exercitar as suas habilidades na linguagem C#? A aplicação já esta praticamente montada e só falta você definir 5 métodos com o código para resolver cada problema.
Vou interromper o artigo aqui para que você possa continuar por si mesmo e tente resolver o problema, ok?!
A seguir, vou dar as definições de alguns termos para ajudar na resolução:
-
Número de Fibonacci – Na matemática, a Sucessão de Fibonacci (também Sequência de Fibonacci), é uma sequência de números inteiros, começando normalmente por 0 e 1, na qual, cada termo subsequente (número de Fibonacci) corresponde a soma dos dois anteriores. Ex: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, … (podendo ser omitido o zero inicial)
-
Fatorial – Na matemática, o fatorial de um número natural n, representado por n!, é o produto de todos os inteiros positivos menores ou iguais a n. A notação n! foi introduzida por Christian Kramp em 1808.
-
Fatores – Todo número inteiro positivo, maior do que um, pode ser escrito univocamente como o produto de vários números primos (chamados fatores primos). Ao processo que recebe como argumento um número e devolve os seus fatores primos chama-se decomposição em fatores primos.
-
Número de Armstrong – O conceito da álgebra para um número de Armstrong diz que é um número de n dígitos que é igual a soma de cada um dos seus dígitos elevado a n-ésima potência. Por exemplo, 153 (n = três dígitos) é igual a 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153
Após terminar, confira o seu resultado continuando a leitura no próximo artigo da série.
Você pode ver a resolução dos 5 problemas de matemática em uma aplicação Console com Menu neste artigo.





