C# programok ismertetése érdeklődőknek kezdőktől haladókig

C# MŰHELY

C# MŰHELY

Másodfokú egyenlet megoldása

2021. február 06. - Benkő Tiborné

Írjunk programot, amely a másodokú egyenlet együtthatói ismeretében meghatározza az egyenlet gyökeit.

A feladat megoldása:

        private void Számol_Click(object sender, EventArgs e)
        {
            double a, b, c, d, gyök1, gyök2, xv, xk1, xk2;
            int sign;
            if (textBox1.Text != "" && textBox2.Text != "" &&
                textBox3.Text != "")

            {
                a = Double.Parse(textBox1.Text);
                b = Double.Parse(textBox2.Text);
                c = Double.Parse(textBox3.Text);
                if (a == 0)
                {
                    if (b == 0)
                    {
                        if (c == 0)
                        {
                             textBox8.Text =
                        "Az egyenletnek bármelyik szám a megoldása!";
                        }
                        else
                        {
                             textBox8.Text =
                             "Ellentmondás, nincs megoldás!";
                        }
                    }
                    else
                    {
                        gyök1 = -c / b;
                        textBox8.Text = "Az egyenlet elsőfokú:  " +
                                        gyök1.ToString("#.####");
                    }
                }
                else
                {
                    d = b * b - 4 * a * c;
                    if (d == 0) sign = 0;
                    else sign = (int)(d / Math.Abs(d));
                    switch (sign)
                    {
                       case -1:
                            xv = -b / (2.0 * a);
                            xk1 = Math.Sqrt(Math.Abs(d)) /( 2.0 * a);
                            xk2 = -xk1;
                            textBox8.Text =
                            "Az egyenletnek komplex megoldása van.";
                            textBox6.Text =
                            "" + xv + "  +" + xk1.ToString("#.####");
                            textBox7.Text =
                            "" + xv + "  -" + xk2.ToString("#.####");
                            break;
                       case 0:
                            gyök1 = -b / (2 * a);
                            textBox8.Text =
                            "Az egyenletnek egybeeső gyöke van: "
                            + 
gyök1.ToString();
                            break
                       case 1:
                            gyök1 = (-b + Math.Sqrt(d)) / (2 * a);
                            gyök2 = (-b - Math.Sqrt(d)) / (2 * a);
                            textBox4.Text = gyök1.ToString("#.####");
                            textBox5.Text = gyök2.ToString("#.####");
                            textBox8.Text =
                            "Az egyenletnek két valós gyöke van.";
                            break;
                     }
                 }
             }
        }

        private void Kilépés_Click(object sender, EventArgs e)
        {
             Application.Exit();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = ""; textBox5.Text = "";
            textBox6.Text = ""
textBox7.Text = "";
            textBox8.Text = "";
        } 

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = ""; textBox5.Text = "";
            textBox6.Text = ""
textBox7.Text = "";
            textBox8.Text = "";
        }

        private void textBox3_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = ""; textBox5.Text = "";
            textBox6.Text = ""
textBox7.Text = ""
            textBox8.Text = "";
        }

A program futási eredményei:

 

 

 

A bejegyzés trackback címe:

https://csharp-muhely.blog.hu/api/trackback/id/tr2016418092

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása