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

C# MŰHELY

C# MŰHELY

Három szám közül válasszuk ki a nagyobbat

2020. június 02. - Benkő Tiborné

A feladat megoldásához olvassunk be három valós számot és válasszuk ki a nagyobbat, melyet a ”Max érték” –kel jelölt szövegablakban írjunk ki.

Globálisan deklarálunk öt duplapontos valós válto­zót, a, b és c-t a három beolvasandó szám számára, a max1 és max2 változókat a maximum kiválasztására.

 A feladatot kétféle módon oldjuk meg.

Első megoldás

A Keres_1 nyomógomb megnyomásakor Keres1_Click eseménykezelőben láncolt if utasítással kiválasztjuk a legnagyobbat és kiírjuk a max1 változó tartalmát  a szövegalakba.

 A láncolt if utasítást relációkból építjük fel. A feltételt zárójelbe kell tennünk és az else előtti utasítást pontosvesszővel zárjuk le. Amennyiben az a>b teljesül, akkor egy újabb if utasítással megvizsgáljuk az a>c feltételt, ha ez a feltétel teljesül, akkor az a lesz a maximum, különben pedig a c. Ha az a >b nem teljesül, akkor az else ágán megvizsgáljuk a b>c feltételt. A feltétel  teljesülésekor a  b lesz a maximum, egyébként, a c.

 Második megoldás

A Keres 2 nyomógomb megnyomásakor Keres2_Click eseménykezelőben feladatot rövidebben fogjuk  megoldani úgy, hogy a max2 változóba feltétel nélkül tároljuk a c-t, majd egy if utasításban vizsgáljuk meg a két relá­ció egyidejű teljesülését logikai ÉS kapcsolattal:

       a>b és a>c   --->   ( a > b && a > c)

A  C# nyelvben a logikai ÉS kapcsolatot az &&, a logikai VAGY kapcsolatot a || műveleti jelek jelentik. Mivel a relációknak nagyobb a precedenciája (elsőbbsége) mint a logikai műveleteknek, így a relációkat nem kell zárójelbe tenni.

Visszatérve a feltételhez, ha az a nagyobb b-nél ÉS c-nél, akkor a maximum  az a lesz, különben megvizsgáljuk, hogy a b nagyobb-e mint a c, mert akkor a maximum a b lesz, ha a feltétel nem teljesül, a max2 változóban a c marad.

 A program listája:

           double a, b, c, max1, max2;
       private void Keres1_Click(object sender, EventArgs e)
       {
            // adatok vizsgálata
            if(textBox1.Text != "" && textBox2.Text != "" &&
               textBox3.Text != "" )
            {
               a = Double.Parse(textBox1.Text);
               b = Double.Parse(textBox2.Text);
               c = Double.Parse(textBox3.Text);
               if (a > b)
               {
                   if (a > c) max1 = a; else max1 = c;
               }
               else
               {
                   if (b > c) max1 = b; else max1 = c;
               }
               textBox4.Text = max1.ToString();
            }
          }       
          private void Keres2_Click(object sender, EventArgs e)
          {
             if(textBox1.Text != "" && textBox2.Text != "" && 
                textBox3.Text != "" )
             {
                a = Double.Parse(textBox1.Text);
                b = Double.Parse(textBox2.Text);
                c = Double.Parse(textBox3.Text);
                max2 = c;
                if (a > b && a > c) max2 = a; 
                else if (b > c) max2 = b;
             }
             textBox5.Text = max2.ToString();
        }

        // bármelyik adat változik, az eredmény ablakok törlődnek
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            textBox4.Text = ""textBox5.Text = "";
        }

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

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

     A program futási eredményei:

 

A bejegyzés trackback címe:

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

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