Új hozzászólás Aktív témák
-
Peter Kiss
őstag
válasz
trisztan94
#4260
üzenetére
Milyen ciklusok?

private void b_osszertek_Click(object sender, EventArgs e)
{
var ossz = 0;
for (var i = 0; i < 32; i++)
{
ossz = ossz + (ar[i] * raktaron[i]);
}
l_megjelenites.Text = "A raktárkészlet összértéke: " + ossz.ToString() + " Ft";
}
private void b_kifogyott_Click(object sender, EventArgs e)
{
var kifogyott = raktaron.Any(x => x == 0);
//nem használod semmire
}
private void b_adottAr_Click(object sender, EventArgs e)
{
var adottAr = Convert.ToInt32(tb_adottAr.Text);
var szamlalo = ar.Count(x => x < adottAr);
l_megjelenites.Text = szamlalo + "-féle könyv kapható " + adottAr + "Ft alatt.";
}Az elsővel nem lehet mit kezdeni, mert rosszul van valami tervezve (a két különálló tömb nem világos nekem).
-
válasz
trisztan94
#4260
üzenetére
Jo ez igy, legalabbis a metodusokra osztas.
Ami nagyon nem jo, az egyreszt a bedrotozott konstansok, amiket raadasul szammal irtal ki mindenhol (kepzels el, hogy kiderul, hogy ezentul mondjuk 50 akarmirol kell infot tarolni, baromi maceras lesz mindenhol atirni), masreszt meg ha mar ugyis egy dologhoz tartozik az ar meg a raktaron tulajdonsag, akkor azokat tarolhatnad egy strukturaban es abbol csinalhatnal tombot, ahelyett, hogy ket tombod lenne. Ez mar csak azert is jo lenne, mert ezutan a for helyett hasznalhatnad a foreachet, ami minden bizonnyal olvashatobba tenne a kodot, ehelyett:for (int i = 0; i < 32; i++)
{
ossz = ossz + (ar[i] * raktaron[i]);
}lenne az, hogy
foreach(dologType dolog in dolgok)
{
ossz += dolog.ar * dolog.raktaron;
} -
válasz
trisztan94
#4260
üzenetére
Mivel a for ciklusok mindig mást csinálnak így nem tudsz túl sokat nyerni a dologgal.
Ráadásul a második metódusod szerintem rossz. Ha bármelyik könyvből 0 vanna, akkor a végén azt írja ki, hogy kifogyott (bármi kifogyott-e a raktáron) - de azt nem fogod tudni, hgy melyik fogyott ki. Persze jó volna tudni, mi a cél... Mondjuk nem is csinál a végén semmit a metódus, csak számolgat és a végén kilép.Másik dolog - használd a string.Format-ot öszetett stringek készítésére:
l_megjelenites.Text = string.Format("A raktárkészlet összértéke: {0} Ft", ossz);l_megjelenites.Text = string.Format("{0}-féle könyv kapható {1} Ft alatt.", szamlalo, adottAr);
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Acer Nitro 16 - 16" WQXGA 165Hz - Ryzen 7 8845HS - 16GB - 1TB - Win11 - RTX 4070 - Garancia
- iPhone 13 Pro Max 128GB 100% (1 év Garancia)
- BESZÁMÍTÁS! Asus H370 i5 9600K 16GB DDR4 512B SSD RTX 2060 Super 8GB Chieftec HC-10B-OP Zalman 850W
- Újszerű Acer Aspire A515 - 15.6"FHD IPS - i5-1335U - 16GB - 512GB SSD - Win11
- HIBÁTLAN iPhone 14 Pro Max 128GB Silver -1 ÉV GARANCIA - Kártyafüggetlen, MS3913
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


