Práctica 8. Calculadora básica Versión 2.0
Código:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Practica_8
{
public partial class FrmCalculadora : Form
{
Calculos misCalculos= new Calculos();
public FrmCalculadora()
{
InitializeComponent();
}
private void button18_Click(object sender, EventArgs e)
{
misCalculos.clear();
txtDisplay.Text = "0";
}
private void btn8_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena("8");
}
private void btn1_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena("1");
}
private void btn2_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena("2");
}
private void btn3_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena("3");
}
private void btn4_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena("4");
}
private void btn5_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena("5");
}
private void btn6_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena("6");
}
private void btn7_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena("7");
}
private void btn9_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena("9");
}
private void btn0_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena("0");
}
private void btn000_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena("000");
}
private void btnPunto_Click(object sender, EventArgs e)
{
txtDisplay.Text = misCalculos.concatena(".");
}
private void btnMas_Click(object sender, EventArgs e)
{
misCalculos.suma(txtDisplay.Text);
}
private void btnResta_Click(object sender, EventArgs e)
{
misCalculos.resta(txtDisplay.Text);
}
private void btnPor_Click(object sender, EventArgs e)
{
misCalculos.multilicacion(txtDisplay.Text);
}
private void btnEntre_Click(object sender, EventArgs e)
{
misCalculos.divicion(txtDisplay.Text);
}
private void btnIgual_Click(object sender, EventArgs e)
{
//si concatenamos una cadena vacia a un numero
//automaticamentela expresion se convierte en cadena
txtDisplay.Text = ""+misCalculos.resultado(txtDisplay.Text);
}
}
}
Clase:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Practica_8
{
class Calculos
{
private string _cadenas;
private double _resultado;
private bool _suma;
private bool _resta;
private bool _divicion;
private bool _multiplicacion;
public Calculos()
{
_cadenas = "";
}
private void apagaBanderas()
{
_suma = false;
_resta = false;
_multiplicacion = false;
_divicion = false;
}
public string concatena(string cadena)
{
_cadenas += cadena;
return _cadenas;
}
public void suma(string cadena)
{
_resultado = Convert.ToDouble(cadena);
_suma = true;
_cadenas = "";
}
public void resta(string cadena)
{
_resultado = Convert.ToDouble(cadena);
_resta = true;
_cadenas = "";
}
public void divicion(string cadena)
{
_resultado = Convert.ToDouble(cadena);
_divicion = true;
_cadenas = "";
}
public void multilicacion(string cadena)
{
_resultado = Convert.ToDouble(cadena);
_multiplicacion = true;
_cadenas = "";
}
public double resultado(string numero)
{
if (_suma)
{
_resultado += Convert.ToDouble(numero);
}
else if (_resta)
{
_resultado -= Convert.ToDouble(numero);
}
else if (_multiplicacion)
{
_resultado *= Convert.ToDouble(numero);
}
else if (_divicion)
{
_resultado /= Convert.ToDouble(numero);
}
apagaBanderas();
return _resultado;
}
public void clear()
{
_resultado = 0;
_cadenas = "";
apagaBanderas();
}
}
}
No hay comentarios:
Publicar un comentario