Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double primeiroValor, segundoValor, resultado; // variavel para aceitar numeros com pontos flutuantes
Console.WriteLine("Digite o primeiro numero");//informa ao usuario para digitar algo
try // o comando faz o sistema tentar a fazer o processo abaixo, se não funcionar , ele printa a mensagem de erro
{
primeiroValor = Convert.ToDouble(Console.ReadLine()); /*ele lê o primeiro valor digitado e espera o enter, o convert
to double no começo , é porque o Console.Readline pega o valor em string, logo,você tem que converter o valor que
recebe em um valor double, que o valor da variavel que você criou*/
Console.WriteLine("Digite a operação ( +,-,*, /, ou digite tabuada e digite qualquer numero no segundo valor");
string sinal = Console.ReadLine(); // essa variavel não precisa de converter porque os simbolos são reconhecidos como string
Console.WriteLine("Digite o segundo numero");
segundoValor = Convert.ToDouble(Console.ReadLine()); // idem da variavel primeiroValor
if (sinal == "tabuada") //confere qual operação vai fazer, caso seja escrito tabuada, o sistema continua
{
segundoValor = 0; // zera a segunda variavel para que ela não interfira no sistema
for (int i = 0; i <= 10; i++) /* esse é um laço de repetição, que faz a contagem com 3 variaveis.
que traduzido ao pé da letra ficaria, caso a variavel i é zero, e menor que 10, aumente ela até 10*/
{
resultado = primeiroValor * i; // aqui faz com que a variavel resultado, seja o valor de primeiro valor multiplicado por i, que ai em cima, nos fizemos com que ela repetisse até 10
Console.WriteLine(primeiroValor + "x" + i + "=" + resultado);
}
}
else // aqui é o se não, caso a parte de cima do if, não seja comprida, ou seja, caso o usuario não tenha digitado "tabuada" o sistema continua aqui.
{
switch (sinal) // esse switch, vai verificar qual o sinal foi digitado para realizar a operação correta com base em testes na variavel sinal
{
case "+": // caso tenha digitado em sinal o valor +, ela realiza o que está abaixo
resultado = (primeiroValor + segundoValor);
Console.Write(resultado);
break;
case "-":
resultado = (primeiroValor - segundoValor);
Console.Write(resultado);
break;
case "*":
resultado = (primeiroValor * segundoValor);
Console.Write(resultado);
break;
case "/":
resultado = (primeiroValor / segundoValor);
Console.Write(resultado);
break;
default:
Console.WriteLine("Você não digitou um sinal valido");
break;
}
}
}
catch (Exception erro_numero) /* aqui, é caso o try la em cima , não tenha funcionado , ela joga pra cá pra printar o erro
isso se chama tratamento de erros, caso você cause um erro no sistema, ele fala o erro e termina o processo
como por exemplo, se você digitar uma letra onde nós convertemos para double, isso vai travar o sistema
esse try catch, com tratamento de erros , evitará que o sistema trave.*/
{
Console.WriteLine("Você deve digitar somente numeros");
}
Console.ReadKey();
}
}
}
Bom estudo.
Última edição por Faraday em Qui 17 Jan 2013 - 14:43, editado 2 vez(es)