domingo, 18 de septiembre de 2016

Practica 8 "Calculadora básica Versión 2.0"

Practica 8 "Calculadora básica Versión 2.0"

Objetivo.
Poder programar una calculadora, aprendiendo el uso de cadenas y creación de clases.


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 calculadora_2._0
{
    public partial class Form1 : Form
    {
        Calculos miscalculos = new Calculos();
        public Form1()
        {
            InitializeComponent();
        }

        private void btn1_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena("1");
        }

        private void btn2_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena("2");
        }

        private void btn3_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena("3");
        }

        private void btn4_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena("4");
        }

        private void btn5_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena("5");
        }

        private void btn6_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena("6");
        }

        private void btn7_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena("7");
        }

        private void btn8_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena("8");
        }

        private void btn9_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena("9");
        }

        private void btn0_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena("0");
        }

        private void btn00_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena("00");
        }

        private void btnPunto_Click(object sender, EventArgs e)
        {
            textBox1.Text = miscalculos.concatena(".");
        }

        private void btnSuma_Click(object sender, EventArgs e)
        {
            miscalculos.suma(textBox1.Text);
        }

        private void btnResta_Click(object sender, EventArgs e)
        {
            miscalculos.resta(textBox1.Text);
        }

        private void btnMulti_Click(object sender, EventArgs e)
        {
            miscalculos.multiplicacion(textBox1.Text);
        }

        private void btnDiv_Click(object sender, EventArgs e)
        {
            miscalculos.division(textBox1.Text);
        }

        private void btnIgual_Click(object sender, EventArgs e)
        {
            //si contatenamos una cadena vacia a un numero
            //automaticamente la expresion se convierte en cadena
            textBox1.Text = "" + miscalculos.resultado(textBox1.Text);
        }

        private void btnClear_Click(object sender, EventArgs e)
        {
            miscalculos.clear();
            textBox1.Text = "0";
        }

    }

}



Código de a clase "cálculos".

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

namespace calculadora_2._0
{
    class Calculos
    {
        private string _cadena;
        private double _resultado;
        private bool _suma;
        private bool _resta;
        private bool _division;
        private bool _multiplicacion;

        public Calculos()
        {
            _cadena = "";
        }
        private void apagabanderas()
        {
            _suma = false;
            _resta = false;
            _multiplicacion = false;
            _division = false;
        }
        public string concatena(string cadena)
        {
            _cadena += cadena;
            return _cadena;
        }
        public void suma(string cadena)
        {
            _resultado = Convert.ToDouble(cadena);
            _suma = true;
            _cadena = "";
        }
        public void resta(string cadena)
        {
            _resultado = Convert.ToDouble(cadena);
            _resta = true;
            _cadena = "";
        }
        public void multiplicacion(string cadena)
        {
            _resultado = Convert.ToDouble(cadena);
            _multiplicacion = true;
            _cadena = "";
        }
        public void division(string cadena)
        {
            _resultado = Convert.ToDouble(cadena);
            _division = true;
            _cadena = "";
        }
        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 (_division)
            {
                _resultado /= Convert.ToDouble(numero);
            }
            apagabanderas();
            return _resultado;
            }
        public void clear()
        {
            _resultado = 0;
            _cadena = "";
            apagabanderas();
        }
        }

    }


Autor: Eduardo Saavedra Pérez

No hay comentarios:

Publicar un comentario