Olvassunk be adatokat az Enter leütésével. Az adatokat a 0 terminálja.Számítsuk ki a pozitív és külön a negatív számok összegét, valamint a teljes összeget. Írassuk ki az adatok számát.
A feladat megoldása:
A Form_Load eseménykezelő, amely legelsőnek szólal meg, itt állítjuk be a comboBox stílusát. A Számol gombot letiltjuk. A listadoboz tartalmát töröljük. A első címke mezejébe a 0 az adatmegadás vége. szöveget írjuk.
A comboBox1_keyPress eseménykezelőben az adatokat comboBox Text mezejébe olvassuk be az Enter leütésével és beírjuk a comboBox1 listaablakába.Ezután az adatot a vége változóba egész számként olvassuk le (Int32.Parse). Ha a vége nem nulla, akkor beírjuk a listBox1 listaablakába, ha nulla, akkor a Számol nyomógombot hozzáférhetővé tesszük A db változóba leolvassuk az adatok darabszámát a comboBox1 listaablak Count tulajdonságából,ez tartalma az ablakban az adatok számát-1.
A Számol_Click eseménykezelő a Számol nyomógomb megnyomásakor kerül meghívásra. Darabonként leolvassuk a szövegesen tárolt adatokat az adat változóba. Majd kiszámítjuk az adatok összegét, a pozitív, negatív adatok összegét. Ezután kerülnek az eredmények kiírása a megfelelő szövegablakokba. A Számol nyomógomb hozzáférhetőségét letiltjuk.
Az Alapállapot_Click eseménykezelő az Alapállapot nyomógomb megnyomásakor hívódik meg, ahol az eredményt kiíró szövegablakok, valamint a listBox1 és a comboBox1 listaablakok törlődnek.
// Globális változók deklarálása
int összeg, neg_összeg, poz_összeg;
// Adatok beolvasása Enter lenyomásával
// adatok beírása a listaablakba
private void comboBox1_KeyPress(object sender,
KeyPressEventArgs e)
{
int vége;
if (e.KeyChar == '\r') // Enter lenyomása
{
comboBox1.Items.Add(comboBox1.Text);
vége = Int32.Parse(comboBox1.Text);
if (vége != 0)
{
listBox1.Items.Add(comboBox1.Text);
comboBox1.Text = "";
}
else
{
Számol.Enabled = true;
textBox1.Text = "Adatok száma: " +
(comboBox1.Items.Count - 1).ToString();
}
}
}
private void Számol_Click(object sender, EventArgs e)
{
int adat, i, db;
összeg = 0; neg_összeg = 0; poz_összeg = 0;
db = listBox1.Items.Count;
for (i = 0; i < db; i++)
{
textBox1.Text = listBox1.Items[i].ToString();
adat = Int32.Parse(textBox1.Text);
összeg += adat;
if (adat > 0) poz_összeg += adat;
if (adat < 0) neg_összeg += adat;
}
textBox2.Text = összeg.ToString();
textBox3.Text = poz_összeg.ToString();
textBox4.Text = neg_összeg.ToString();
textBox1.Text = "Adatok száma: " + db.ToString();
Számol.Enabled = false;
}
// Alapállapot beállítása
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.DropDownStyle = ComboBoxStyle.Simple;
Számol.Enabled = false;
listBox1.Items.Clear();
label1.Text = "0 az adatmegadás vége.";
}
// Alapállapot beállítása a program újrafuttatásához
private void Alapállapot_Click(object sender, EventArgs e)
{
comboBox1.Text = "";
textBox2.Text = ""; textBox3.Text = "";
textBox4.Text = "";
textBox1.Text = "";
listBox1.Items.Clear();
comboBox1.Items.Clear();
}
A program futási eredményei: