El objetivo de este blog es mostrar como crear de una calculadora, como la que podemos observar y usar en cualquier Windows.

Para poder comenzar es necesario tener conocimiento previo en los siguientes puntos:

1. Crear un proyecto windows form application.

2. Insercion de elementos del Toolbox en un windows form:

a) Textbox.

b) Label.

c) Button.

3. Tipo de datos:

a) Float.

b) String.

4. Operadores aritmetcos:

a) “+” Suma aritmética.

b) “-”  Resta aritmética.

c) “*”  Producto aritmética.

d) “/”  División aritmética.

e) “√”  Raíz cuadrada.

5. Modificar propiedades de la forma y elementos del texbox.

6. Control de flujo condicional: if…else.

7. Definicion de metodos.

 

Instrucciones

1.- Crear una aplicacion windows form y nombrarla Calculadora.

2.- Elaborar la interfaz de nuestra calculadora. Para este paso van a necesitar los siguientes elementos:

· 10 botones para los numeros del 1 al 0.

· 2 botones para mostrar resultado y borrar pantalla.

· 4 botones para seleccionar la operacion que deseemos realizar.

Despues realizaremos los siguientes cambios en las siguientes propiedades de los botones:

· Text: numeros (1 al 0), clear (CE), igual (=) y operadores logicos (+, -, *, /,√).

· ForColor: Dependera del tipo de boton ejemplo: negro para operaciones, azul para resultado e igual y rojo para digitos.

· Font: Microsoft Sans Serif,regular,8

· Size: 33,33.//tamaño de los botones

Al final obtendrá algo como se muestra en la figura.

 

3. A continuación mostraré el código de la calculadora.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Calculadora
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
///Summary
///Calculator Program in C#.
///the objective of this program is put into practice everything
///that we have seen the last course for example:
///a)Declarations of variables.
///b)if-else(control structures)
//Declaration of global variables
double numero1 = 0, numero2 = 0, resultado = 0;
string Display = string.Empty, operador = string.Empty;
///The global variable is a variable that is access
///for all of methods in the program
//Declaration  of methods
public void Operacion(string operacion)
{
if (operador == “√”)
{
textboxDisplay.Clear();
resultado = Math.Sqrt(numero1);
}
else
{
numero2 = Convert.ToDouble(textboxDisplay.Text);
if (operador == “+”)
{
resultado = numero1 + numero2;
}
else if (operador == “-“)
{
resultado = numero1 – numero2;
}
else if (operador == “*”)
{
resultado = numero1 * numero2;
}
else if (operador == “/”)
{
resultado = numero1 / numero2;
}
}
///if you want to check out about this method, you can do it throught
///of this website  http://www.csharp-examples.net/string-format-double/
///the following line show how to format float numbers to string
///and you can limit the decimal places in C#.
this.textboxDisplay.Text = string.Format(“{0:#,###.##}”, resultado);
}

private void button1_Click(object sender, EventArgs e)
{
Display = textboxDisplay.Text;
textboxDisplay.Text = Display + “1”;
}
private void button2_Click(object sender, EventArgs e)
{
Display = textboxDisplay.Text;
textboxDisplay.Text = Display + “2”;
}

private void button3_Click(object sender, EventArgs e)
{
Display = textboxDisplay.Text;
textboxDisplay.Text = Display + “3”;
}

private void button4_Click(object sender, EventArgs e)
{
Display = textboxDisplay.Text;
textboxDisplay.Text = Display + “4”;
}

private void button5_Click(object sender, EventArgs e)
{
Display = textboxDisplay.Text;
textboxDisplay.Text = Display + “5”;
}

private void button6_Click(object sender, EventArgs e)
{
Display = textboxDisplay.Text;
textboxDisplay.Text = Display + “6”;
}

private void button7_Click(object sender, EventArgs e)
{
Display = textboxDisplay.Text;
textboxDisplay.Text = Display + “7”;
}

private void button8_Click(object sender, EventArgs e)
{
Display = textboxDisplay.Text;
textboxDisplay.Text = Display + “8”;
}

private void button9_Click(object sender, EventArgs e)
{
Display = textboxDisplay.Text;
textboxDisplay.Text = Display + “9”;
}

private void button0_Click(object sender, EventArgs e)
{
Display = textboxDisplay.Text;
textboxDisplay.Text = Display + “0”;
}

private void buttonSum_Click(object sender, EventArgs e)
{
numero1 = Convert.ToDouble(textboxDisplay.Text);
operador = “+”;
textboxDisplay.Clear();
}

private void buttonRes_Click(object sender, EventArgs e)
{
numero1 = Convert.ToDouble(textboxDisplay.Text);
operador = “-“;
textboxDisplay.Clear();
}

private void buttonMul_Click(object sender, EventArgs e)
{
numero1 = Convert.ToDouble(textboxDisplay.Text);
operador = “*”;
textboxDisplay.Clear();
}

private void buttonDiv_Click(object sender, EventArgs e)
{
numero1 = Convert.ToDouble(textboxDisplay.Text);
operador = “/”;
textboxDisplay.Clear();
}

private void buttonSQRT_Click(object sender, EventArgs e)
{
numero1 = Convert.ToDouble(textboxDisplay.Text);
operador = “√”;
Operacion(operador);
}

private void buttonR_Click(object sender, EventArgs e)
{
Operacion(operador);
}

private void buttonC_Click(object sender, EventArgs e)
{
textboxDisplay.Clear();
}

private void buttonP_Click(object sender, EventArgs e)
{
Display = textboxDisplay.Text;
textboxDisplay.Text = Display + “.”;
}
}
}

Por ultimo solo me queda decir que el botón “+/-” y “.” todavía no están listos por lo que si tienen sugerencias o dudas pueden hacerlo a través del libro de visitas o por correo electrónico quetzalcoatlfx05@hotmail.com