Crear una calculadora básica en c#

Hola mi nombre es Eulises Rodríguez y les estaré publicando principalmente tutoriales de C#, y hoy empezaremos con el primero sobre cómo crear una calculadora básica que nos permita realizar las 4 operaciones matemáticas básicas como son (Suma, Resta, Multiplicación y División), lo haremos creando un menú para seleccionar a opción a elegir. Asi se mostrara nuestro programa ya terminado.

Lo primero que haremos será agregarle un nombre a nuestra clase en este caso le pondremos “Calculadora” posteriormente le asignaremos un título a nuestra ventana en mi caso le pondré “Mini Calculadora – Eulises rodríguez”

class Calculadora //Nombre de nuestra clase.
    {
        static void Main(string[] args)
        {
		Console.Title = "Mini Calculadora - Eulises Rodriguez"; //Sirve para agregarle un titulo a la ventana
        }
    }

Después vamos a declarar la siguiente variable y agregaremos el ciclo DO WHILE.

string resp = ""; //Esta variable nos servira para salir de la aplicacion.
do
  {
} while (resp == "s" || resp == "s"); //Aqui agregaremos la condición para salir, esto nos sera util mas adelante.

Luego vamos a declarar tres variables de tipo entero.

int valor1 = 0; //Aqui se almacenara el primer valor ingresado.
int valor2 = 0; //Aqui se almacenara el segundo valor ingresado.
int R = 0; //Aqui se almacenara el resultado de la operacion.

Ahora mostraremos los mensajes que llevara nuestro menú de selección.

//Aqui mostraremos los mensajes que apareceran en nuestra consola igual que el menu de seleccion.
Console.WriteLine("Presione el simbolo para realizar la operacion:n");
Console.WriteLine("+ para sumar");
Console.WriteLine("- para restar");
Console.WriteLine("* para multiplicar");
Console.WriteLine("/ para dividir");
Console.Write("n Eliga Una Opcion: "); //Aqui es donde indicaremos que operacion vamos a realizar
resp = Console.ReadLine();
string eleccion = Convert.ToString(resp); //Se hace la convercion a caracter.

Ahora vamos agregar los mensajes para introducir los valores.

//Aqui se agregaran los mensajes para poder ingresar los datos.
Console.WriteLine("nIngrese sus dos numerosn");
Console.Write("Valor1: ");
valor1 = int.Parse(Console.ReadLine());
Console.Write("Valor2: ");
valor2 = int.Parse(Console.ReadLine());
Console.WriteLine();

Para fianlizar vamos a usar la sentencia switch y ahí colocaremos las operaciones que se podran realizar.

switch (eleccion)
          {
case "+": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la suma es:");
R = valor1 + valor2;
Console.WriteLine("{0} + {1} = {2}", valor1, valor2, R);
break;
case "-": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la resta es:");
R = valor1 - valor2;
Console.WriteLine("{0} - {1} = {2}", valor1, valor2, R);
break;
case "*": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la multiplicacion es:");
R = valor1 * valor2;
Console.WriteLine("{0} * {1} = {2}", valor1, valor2, R);
break;
case "/": //Simbolo que se seleciona del menu este indica la operacion.
Console.WriteLine("El resultado de la division es:");
R = valor1 / valor2;
Console.WriteLine("{0} / {1} = {2}", valor1, valor2, R);
break;
       }

Ahora mostraremos un mensaje si deseamos continuar o salir de la aplicación.

Console.Write("n¿Desea Continuar? s/n: "); //Si para realizarlo de nuevo y no para salir.
resp = Console.ReadLine();

Y asi se muestra nuestro programa en ejecucion.

CODIGO COMPLETO

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

namespace ConsoleApplication15
{
    class Calculadora //Nombre de nuestra clase.
    {
        static void Main(string[] args)
        {
            Console.Title = "Mini Calculadora - Eulises Rodriguez"; //Sirve para agregarle un titulo a la ventana
            string resp = "";
            do
            {
                int valor1 = 0; //Aqui se almacenara el primer valor ingresado.
                int valor2 = 0; //Aqui se almacenara el segundo valor ingresado.
                int R = 0; //Aqui se almacenara el resultado de la operacion.

                //Aqui mostraremos los mensajes que apareceran en nuestra consola igual que el menu de seleccion.
                Console.WriteLine("Presione el simbolo para realizar la operacion:n");
                Console.WriteLine("+ para sumar");
                Console.WriteLine("- para restar");
                Console.WriteLine("* para multiplicar");
                Console.WriteLine("/ para dividir");
                Console.Write("n Eliga Una Opcion: "); //Aqui es donde indicaremos que operacion vamos a realizar
                resp = Console.ReadLine();
                string eleccion = Convert.ToString(resp);
                //Aqui se agregaran los mensajes para poder ingresar los datos.
                Console.WriteLine("nIngrese sus dos numerosn");
                Console.Write("Valor1: ");
                valor1 = int.Parse(Console.ReadLine());
                Console.Write("Valor2: ");
                valor2 = int.Parse(Console.ReadLine());
                Console.WriteLine();

                switch (eleccion)
                {
                    case "+":
                        Console.WriteLine("El resultado de la suma es:");
                        R = valor1 + valor2;
                        Console.WriteLine("{0} + {1} = {2}", valor1, valor2, R);
                        break;
                    case "-":
                        Console.WriteLine("El resultado de la resta es:");
                        R = valor1 - valor2;
                        Console.WriteLine("{0} - {1} = {2}", valor1, valor2, R);
                        break;
                    case "*":
                        Console.WriteLine("El resultado de la multiplicacion es:");
                        R = valor1 * valor2;
                        Console.WriteLine("{0} * {1} = {2}", valor1, valor2, R);
                        break;
                    case "/":
                        Console.WriteLine("El resultado de la division es:");
                        R = valor1 / valor2;
                        Console.WriteLine("{0} / {1} = {2}", valor1, valor2, R);
                        break;
                }
                Console.Write("n¿Desea Continuar? s/n: "); //Si para realizarlo de nuevo y no para salir.
                resp = Console.ReadLine();
            }
            while (resp == "s" || resp == "s");
        }
    }
}

Acerca del autor:

Twitter del autor:

2 comments

  1. Salvador says:

    es casi igual solo que utilizando un metodo :)

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

    namespace Calculadora
    {

    class Calculadora
    {
    public double valor1, valor2, resulltado;
    public string op;
    public void Operacion(double num1, double num2, string op)
    {
    if (op == “+”)
    {
    resulltado = num1 + num2;
    }
    if (op == “-“)
    {
    resulltado = num1 – num2;
    }
    if (op == “*”)
    {
    resulltado = num1 * num2;
    }
    if (op == “/”)
    {
    if (num2 == 0)
    {
    Console.WriteLine(“Division entre 0 no existe”);
    }
    else
    {
    resulltado = num1 / num2;
    }
    }
    }

    }
    class Program
    {
    static void Main(string[] args)
    {
    Calculadora c = new Calculadora();
    string respuesta;
    do
    {
    Console.WriteLine(“Operación a realizar:(suma(+), resta(-), multiplicación(*), división(/)) “);
    c.op = Console.ReadLine();
    Console.WriteLine(“Ingrese primer valor: “);
    c.valor1 = Convert.ToDouble(Console.ReadLine());
    Console.WriteLine(“Ingrese segundo valor: “);
    c.valor2 = Convert.ToDouble(Console.ReadLine());
    c.Operacion(c.valor1, c.valor2, c.op);
    Console.WriteLine(“Resultado: ” + c.resulltado);
    Console.WriteLine(“”);
    Console.WriteLine(“Desea realizar más operaciones? (s = si, n = no)”);
    respuesta = Console.ReadLine();

    } while (respuesta == “s” || respuesta == “S”);
    }
    }
    }

Leave a Reply

Your email address will not be published. Required fields are marked *