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.