コード例 #1
0
        private void buttonEq_Click(object sender, EventArgs e)
        {
            string Texto = TB.Text;

            Nodo nuevo = new Nodo();

            nuevo.Fecha = DateTime.Now;

            if (Texto.Contains('+'))
            {
                string[] arreglo = Texto.Split('+');
                nuevo.Numero1  = Convert.ToSingle(arreglo[0]);
                nuevo.Numero2  = Convert.ToSingle(arreglo[1]);
                nuevo.Operador = '+';

                nuevo.Resultado = nuevo.Operacion();
                TB.Text         = Convert.ToString(nuevo.Resultado);

                Historial.Items.Add(nuevo.Numero1 + nuevo.Operador.ToString() + nuevo.Numero2 + '=' + nuevo.Resultado + "----->" + nuevo.Fecha);
                Historial.Refresh();
            }
            else if (Texto.Contains('-'))
            {
                string[] arreglo = Texto.Split('-');
                nuevo.Numero1  = Convert.ToSingle(arreglo[0]);
                nuevo.Numero2  = Convert.ToSingle(arreglo[1]);
                nuevo.Operador = '-';

                nuevo.Resultado = nuevo.Operacion();
                TB.Text         = Convert.ToString(nuevo.Resultado);

                Historial.Items.Add(nuevo.Numero1 + nuevo.Operador.ToString() + nuevo.Numero2 + '=' + nuevo.Resultado + "----->" + nuevo.Fecha);
                Historial.Refresh();
            }
            else if (Texto.Contains('*'))
            {
                string[] arreglo = Texto.Split('*');
                nuevo.Numero1  = Convert.ToSingle(arreglo[0]);
                nuevo.Numero2  = Convert.ToSingle(arreglo[1]);
                nuevo.Operador = '*';

                nuevo.Resultado = nuevo.Operacion();
                TB.Text         = Convert.ToString(nuevo.Resultado);

                Historial.Items.Add(nuevo.Numero1 + nuevo.Operador.ToString() + nuevo.Numero2 + '=' + nuevo.Resultado + "----->" + nuevo.Fecha);
                Historial.Refresh();
            }
            else if (Texto.Contains('/'))
            {
                string[] arreglo = Texto.Split('/');
                nuevo.Numero1  = Convert.ToSingle(arreglo[0]);
                nuevo.Numero2  = Convert.ToSingle(arreglo[1]);
                nuevo.Operador = '/';

                if (nuevo.Numero2 != 0)
                {
                    nuevo.Resultado = nuevo.Operacion();
                    TB.Text         = Convert.ToString(nuevo.Resultado);

                    Historial.Items.Add(nuevo.Numero1 + nuevo.Operador.ToString() + nuevo.Numero2 + '=' + nuevo.Resultado + "----->" + nuevo.Fecha);
                    Historial.Refresh();
                }
                else
                {
                    nuevo.Resultado = -987654321;
                    TB.Text         = "MATH ERROR";

                    Historial.Items.Add(nuevo.Numero1 + nuevo.Operador.ToString() + nuevo.Numero2 + '=' + "MATH ERROR" + "----->" + nuevo.Fecha);
                    Historial.Refresh();
                }
            }
        }