none
Mostar cálculo por extenso em um textbox; RRS feed

  • Pergunta

  • olá galera, to começando agora no c# e queria uma ajudinha de voces..

    Estou brincando no VS para treinar e to fazendo um programa que calcula delta, x1 e x2...

    Tenho 3 txt com valores de ( a , b e c) e um botão de calcular (até ai tudo certo) porém, quero colocar mais 1 botão e mais 1 txtbox, para quando eu clicar no botão, por exemplo: "mostrar calculo", aparecer todo o processo do calculo nesse 4 txtbox.

    um pouco do código para vocês entenderem mais...

    {

                //declarando e convertendo variáveis.
                double a, b, c, delta, x1, x2;
                a = Convert.ToDouble(txtA.Text);
                b = Convert.ToDouble(txtB.Text);
                c = Convert.ToDouble(txtC.Text);
                delta = (b * b) - 4 * a * c;
                x1 = (-b + Math.Sqrt(delta)) / 2 * a;
                x2 = (-b - Math.Sqrt(delta)) / 2 * a;

                //Verificando campos vazios

                if (txtA.Text == "")
                {
                    MessageBox.Show("Equação inválida", "erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }


                //verificando delta negativo
                if (delta <1)
                {
                    MessageBox.Show(delta + "Delta negativo, não há raiz...");
                }
                else
                {
                    MessageBox.Show("Delta = " + delta + "\r\n" + "X1 = " + x1 + "\r\n" + "X2 = " + x2 );
                }
                
            }

    quinta-feira, 28 de abril de 2016 17:19

Respostas

  • Boa tarde,

    Se entendi certo, isso vai solucionar seu problema:

    string operacao = "((b * b) - 4 * a * c)";
    
    operacao = operacao.Replace("b", txtB.Text).Replace("a", txtA.Text).Replace("c", txtC.Text);
                
    //operacao = "(( " + txtB.Text +"*" +  txtB.Text +" ) - 4 * " + txtA.Text + " * " + txtC.Text + ")";
    
    txtCalculo.Text = operacao;

    Mostrei como fazer de duas formas, a linha comentada "//" faz produz o mesmo resultado. Fica a sua escolha.
    O "txtCalculo" foi só para ilustrar, você vai colocar o seu.

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Sugerido como Resposta Silvaney quinta-feira, 28 de abril de 2016 18:33
    • Marcado como Resposta Lucas Bersot quinta-feira, 28 de abril de 2016 18:39
    quinta-feira, 28 de abril de 2016 18:17

Todas as Respostas

  • Boa tarde,

    Você deseja mostrar um texto com a fórmula ((b * b) - 4 * a * c;) substituindo pelo número desejado ou gostaria de aparecer o passo a passo da operação dando um "sleep"?

    Poderia exemplificar a saída desejada?

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Marcado como Resposta Lucas Bersot quinta-feira, 28 de abril de 2016 18:39
    • Não Marcado como Resposta Lucas Bersot quinta-feira, 28 de abril de 2016 18:39
    quinta-feira, 28 de abril de 2016 17:25
  • Gostaria de mostrar a fórmula ((b*b) - 4 * a * c) dentre as outras, com os números desejados substituídos.
    quinta-feira, 28 de abril de 2016 18:00
  • Boa tarde,

    Se entendi certo, isso vai solucionar seu problema:

    string operacao = "((b * b) - 4 * a * c)";
    
    operacao = operacao.Replace("b", txtB.Text).Replace("a", txtA.Text).Replace("c", txtC.Text);
                
    //operacao = "(( " + txtB.Text +"*" +  txtB.Text +" ) - 4 * " + txtA.Text + " * " + txtC.Text + ")";
    
    txtCalculo.Text = operacao;

    Mostrei como fazer de duas formas, a linha comentada "//" faz produz o mesmo resultado. Fica a sua escolha.
    O "txtCalculo" foi só para ilustrar, você vai colocar o seu.

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Sugerido como Resposta Silvaney quinta-feira, 28 de abril de 2016 18:33
    • Marcado como Resposta Lucas Bersot quinta-feira, 28 de abril de 2016 18:39
    quinta-feira, 28 de abril de 2016 18:17