private void buttonOperar_Click(object sender, EventArgs e)
        {
            if (textBoxComplejo.Text == "" || textBoxIndice.Text == "")
            {
                MessageBox.Show("Debe Ingresar los 2 campos para operar!");
            }
            else
            {
                OperacionesBasicas OB = new OperacionesBasicas();
                if (!OB.esComplejoValido(this.textBoxComplejo.Text) || !this.esIndiceValido(textBoxIndice.Text)) // || !OperacionesBasicas.esComplejoValido(textBoxIndice.Text)
                {
                    MessageBox.Show("Debe ingresar el número complejo de la siguiente manera: forma binómica (a;b) o forma polar [a;b] - El índice debe ser un entero");
                }
                else
                {
                    int            n;
                    NumeroComplejo z1 = OB.parsearComplejo(textBoxComplejo.Text);
                    Int32.TryParse(textBoxIndice.Text, out n);

                    if (comboBoxOperaciones.SelectedIndex == -1)
                    {
                        MessageBox.Show("Debe seleccionar una operación!");
                    }
                    else
                    {
                        switch (comboBoxOperaciones.SelectedIndex)
                        {
                        case 0:     //Potenciación
                            NumeroComplejo zres = new NumeroComplejo(0, 0, NumeroComplejo.Forma.Binomica);
                            zres = z1.potencia(n);
                            comboBox1.Items.Clear();
                            comboBox1.Items.Add("(" + Math.Round(zres.formaBinomica().a, 3) + " ; " + Math.Round(zres.formaBinomica().b, 3) + ")" + " - [" + Math.Round(zres.formaPolar().a, 3) + " ; " + Math.Round(zres.formaPolar().b, 3) + " rad]");
                            comboBox1.SelectedIndex = 0;
                            break;

                        case 1:     //Radicación
                            List <NumeroComplejo> listaResultados = z1.raiz(n);
                            int k = 0;
                            comboBox1.Items.Clear();

                            listaResultados.ForEach(delegate(NumeroComplejo Z)
                            {
                                comboBox1.Items.Add("K=" + k + "-> (" + Math.Round(Z.formaBinomica().a, 3) + " ; " + Math.Round(Z.formaBinomica().b, 3) + ")" + " - [" + Math.Round(Z.formaPolar().a, 3) + " ; " + Math.Round(Z.formaPolar().b, 3) + " rad]");
                                k++;
                            });
                            comboBox1.SelectedIndex = 0;
                            break;
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        private void buttonTransformar_Click(object sender, EventArgs e)
        {
            OperacionesBasicas OB = new OperacionesBasicas();

            if (!OB.esComplejoValido(this.textBoxComplejo.Text))
            {
                MessageBox.Show("Debe ingresar el número complejo de la siguiente manera: forma binómica (a;b) o forma polar [a;b]");
            }
            else
            {
                NumeroComplejo z1 = OB.parsearComplejo(textBoxComplejo.Text);

                if (z1.forma == NumeroComplejo.Forma.Binomica)
                {
                    NumeroComplejo zRes = z1.formaPolar();
                    labelResultado.Text = "[" + Math.Round(zRes.a, 3) + ";" + Math.Round(zRes.b, 3) + "]";
                }
                else
                {
                    NumeroComplejo zRes = z1.formaBinomica();
                    labelResultado.Text = "(" + Math.Round(zRes.a, 3) + ";" + Math.Round(zRes.b, 3) + ")";
                }
            }
        }
        private void básicasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OperacionesBasicas form = new OperacionesBasicas();

            form.Show();
        }