예제 #1
0
        /// <summary>
        ///
        /// INICIA LA RESOLUCION
        ///
        /// </summary>
        ///
        private void IniciarResolucion()
        {
            btDefecto.Hide();
            if (!tbFilas.Text.Contains(','))
            {
                MessageBox.Show("El número introducido es un entero.");
                return;
            }
            // Obtener el numero introducido
            numero = Double.Parse(tbFilas.Text);
            if (directa)
            {
                Racional resultado = (Racional)numero;
                label2.Show();
                label2.Location = btContinuar.Location;
                btContinuar.Hide();
                label2.Text = resultado.ToString();
                lbExplicacion.Focus();
                return;
            }
            // Pasar el numero a Racional para comprobar de que tipo se trata
            Racional numeror = numero;

            // Comprobar de que tipo se trata ( decimal, periodico puro o periodico mixto )
            if (numeror.EsEntero())
            {
                MessageBox.Show("El número introducido es un entero.");
                return;
            }

            bool esperiodicopuro  = numeror.EsPeriodicoPuro();
            bool esperiodicomixto = numeror.EsPeriodicoMixto();
            bool esdecimal        = numeror.EsDecimal();

            btContinuar.Show();
            if (esdecimal)
            {
                lbExplicacion.Text = "El número introdocido, es un decimal aperiodico";
                paso = 1;
            }
            else if (esperiodicopuro)
            {
                lbExplicacion.Text = "El número introducido, es un decimal periodico puro.";
                paso = 10;
            }
            else if (esperiodicomixto)
            {
                lbExplicacion.Text = "El número introducido, es un decimal periodico mixto.";
                paso = 20;
            }
        }