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

C# MŰHELY

C# MŰHELY

STRUKTÚRA: Komplex műveletek

2022. január 07. - Benkő Tiborné

 Írjunk programot, amely a Komplex struktúra használatával oldja meg két komplex szám összeadását, kivonását, szorzását és osztását.

 A feladat megoldása: 

         public struct Komplex
        {
            public double re;
            public double im;
       }  

        Komplex K1 = new Komplex();
        Komplex K2 = new Komplex();
        Komplex Ered = new Komplex();

        int OK = 0;

        public void Összead(Komplex k1, Komplex k2, out Komplex ered)
        {
            ered.re = k1.re + k2.re;
            ered.im = k1.im + k2.im;
        }

        public void Kivonás(Komplex k1, Komplex k2, out Komplex ered)
        {
            ered.re = k1.re - k2.re;
            ered.im = k1.im - k2.im;
        }

        public void Szorzás(Komplex k1, Komplex k2, out Komplex ered)
        { 
            ered.re = k1.re * k2.re - k1.im * k2.im;
            ered.im = k1.re * k2.im + k1.im * k2.re;
        }

        public void Osztás(Komplex k1, Komplex k2, out Komplex ered)
        {
            ered.re = (k1.re * k2.re + k1.im * k2.im) /
                      (k2.re * k2.re + k2.im * k2.im);

            ered.im = (k1.im * k2.re - k1.re * k2.im) /
                      (k2.re * k2.re + k2.im * k2.im);
        } 

        // összeadás
        private void radioButton1_CheckedChanged(object sender,
                                                 EventArgs e)
        {
            if (OK == 1)
            {
                Összead(K1, K2, out Ered);
                textBox5.Text = Ered.re.ToString();
                textBox6.Text = Ered.im.ToString();
            } 
            else
            {
                radioButton1.Checked = false;
                textBox5.Text = "Adatok beolvasása!";
            }
        }

        // kivonás
        private void radioButton2_CheckedChanged(object sender,
                                                 EventArgs e)
        {
            if (OK == 1)
            {
                Kivonás(K1, K2, out Ered);
                textBox5.Text = Ered.re.ToString();
                textBox6.Text = Ered.im.ToString();
            }
            else
            {
                radioButton2.Checked = false;
                textBox5.Text = "Adatok beolvasása!";
            }
        }

        //szorzás
        private void radioButton3_CheckedChanged(object sender,
                                                 EventArgs e)
        {
             if (OK == 1)
             {
                Szorzás(K1, K2, out Ered);
                textBox5.Text = Ered.re.ToString();
                textBox6.Text = Ered.im.ToString();
             }
             else
             {
                radioButton3.Checked = false;
                textBox5.Text = "Adatok beolvasása!";
             }
         }

        // osztás
        private void radioButton4_CheckedChanged(object sender,
                                                 EventArgs e)
        {
             if (OK == 1)
        
                Osztás(K1, K2, out Ered);
                textBox5.Text = Ered.re.ToString();
                textBox6.Text = Ered.im.ToString();
            }
            else
            {
                radioButton4.Checked = false;
                textBox5.Text = "Adatok beolvasása!";
            }
        }

        private void Ellenőrzés_Click(object sender, EventArgs e)
       {
            textBox5.Text = ""; textBox6.Text = "";

            if(textBox1.Text != "" && textBox2.Text != "" &&
               textBox3.Text != "" &&
 textBox4.Text != "" )
            {
                K1.re = Double.Parse(textBox1.Text);
                K1.im = Double.Parse(textBox2.Text);
                K2.re = Double.Parse(textBox3.Text);
                K2.im = Double.Parse(textBox4.Text);
                MessageBox.Show("OK, Műveletek végrehajthatók!");
                OK = 1;            
            }
            else
            {
                OK = 0;
                MessageBox.Show("Hiányos adatmegadás!");
            }
        } 

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            textBox5.Text = ""; textBox6.Text = ""; OK = 0;
            radioButton1.Checked = false;
            radioButton2.Checked = false;
 
            radioButton3.Checked = false;
           
radioButton4.Checked = false;
        } 

        private void textBox3_TextChanged(object sender, EventArgs e)
        { 
            textBox5.Text = ""; textBox6.Text = ""; OK = 0;
            radioButton1.Checked = false;
            radioButton2.Checked = false;
            radioButton3.Checked = false;
            radioButton4.Checked = false;
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            textBox5.Text = ""; textBox6.Text = ""; OK = 0;
            radioButton1.Checked = false;
            radioButton2.Checked = false
            radioButton3.Checked = false;
            radioButton4.Checked = false;
        }

        private void textBox4_TextChanged(object sender, EventArgs e)
        {
            textBox5.Text = ""; textBox6.Text = ""; OK = 0;
            radioButton1.Checked = false;
            radioButton2.Checked = false
 
            radioButton3.Checked = false;
            radioButton4.Checked = false;
        }

A program futási eredményei:

 

A bejegyzés trackback címe:

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

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