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

C# MŰHELY

C# MŰHELY

Adatbeolvasást két 0 terminálja

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

Olvassunk be negatív és pozitív egész számokat. Határozzuk meg összegüket, valamint külön a pozitív és negatív számok összegét is. A nullákat is értékes számnak tekintsük. Az összegek mellett határozzuk meg a nullák darabszámát is. A ciklusból két egymást után beolvasott 0-val léphetünk ki.

A feladat megoldása:

Deklaráljunk egy volt egész típusú változót, melynek kezdőértékét a Form1_Load 0-ra állítja.  Ennek a változónak az 1-re állítása jelzi, hogy 0-át olvastunk, és újra 0 lesz az értéke, ha a kö­vetkező beolvasott érték nem zérus. 

                if (szám == 0 && volt == 1)
       {
           button1.Enabled = false;
           button2.Enabled = true;
       }
       if(szám == 0)
            volt =1;
       else volt = 0;

A feladat programlistája:

            // Globális változók
        int volt, szám;
        // Adatok beolvasása.
        // illetve két egymásutáni 0 állítja le az olvasást
        private void Adatot_olvas_Click(object sender, EventArgs e)
        {
            if (textBox1.Text != "")
            {
                szám = Int32.Parse(textBox1.Text);
                listBox1.Items.Add(textBox1.Text);
                textBox1.Clear();
                textBox1.Focus();
                if (szám == 0 && volt == 1)
                {
                    Adatot_olvas.Enabled = false;
                    Számol.Enabled = true;
                }
                if (szám == 0)
                    volt = 1;
                else volt = 0;
            }
         }
         // Kiértékelés
         private void Számol_Click(object sender, EventArgs e)
         {
            int adat, összeg = 0, neg_összeg = 0, poz_összeg = 0,
                i, db,
zérusok_száma = 0;
            db = listBox1.Items.Count;
            for (i = 0; i < db - 1; i++)
            {
                textBox1.Text = listBox1.Items[i].ToString();
                adat = Int32.Parse(textBox1.Text);
                összeg += adat;
                if (adat == 0)
                    zérusok_száma++;
                else if (adat > 0)
                    poz_összeg += adat;
                else neg_összeg += adat;
            }
            textBox2.Text = összeg.ToString();
            textBox3.Text = poz_összeg.ToString();
            textBox4.Text = neg_összeg.ToString();
            textBox5.Text = zérusok_száma.ToString();
            textBox1.Text = "Adatok száma: " + (db - 1).ToString();
        }

        // Az alapállapot beállítása
        private void Form1_Load(object sender, EventArgs e)
        {
            volt = 0;
            listBox1.Items.Clear();
            Számol.Enabled = false
        }

A program futási eredménye:

A bejegyzés trackback címe:

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

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