Hirdetés
- Az Intel korábbi vezére szerint a kvantumforradalom gyorsan elsöpri a GPU-kat
- Ha a koreaiakon múlik, még évekig ingünk-gatyánk rámehet a memóriákra
- Milyen videókártyát?
- Milyen notebookot vegyek?
- Azonnali alaplapos kérdések órája
- Androidos tablet topic
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Ilyen blokkot sem láttunk még készre szerelt vízhűtésnél
- Hogy is néznek ki a gépeink?
- Hobby elektronika
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
zsambek
#5511
üzenetére
Üdv újra. Már készültem rákérdezni, hogy mi újság a gyakorlással.

1) Túlkomplikáltad ezt az árszámítást matek és C# oldalon is. C# oldalon azért, mert a Convert.ToDouble hívás felesleges, matek oldalon meg azért, mert ha jó képletet választasz a kerekítés előtti árhoz, nem kell ifelned meg kézzel +71-et hozzáadni.
Van a Math.Ceiling függvény, ami visszaadja a double számhoz legközelebbi, annál nem kisebb egészt. Azaz például 4 -> 4, 4.1 -> 5, 4.9 -> 5, stb.
Ezt kihasználva az árszámítás (57-68. sorod) ennyire alakul át:
jegyek[j].fizetnivalo = (int)(Math.Ceiling((jegyek[j].le - jegyek[j].fel) / 10.0) * 71);A 10.0 nagyon fontos, mert enélkül maradékos osztást csinál a fordító!
A magyar ötforintos kerekítésre sajnos nem alkalmas a Math.Round. De még egy teljesen naív switches megoldás is teljesen kielégítő:
int diff = 0;
switch (fizetendo % 10) {
case 0:
case 1:
case 2:
diff = 0;
break;
case 3:
case 4:
case 5:
case 6:
case 7:
diff = 5;
break;
case 8:
case 9:
diff = 10;
break;
}
fizetendo = fizetendo / 10 * 10 + diff;A /10*10 maradékos osztással levágja az utolsó számjegyet, a diff meg az a szám, amit a kerekítés miatt hozzá kellett csapni.
2) Ez a megközelítés nem biztos, hogy jó eredményre vezet, ha az első megállónál senki se szállt fel, vagy mindenki leszállt már az utolsó előtt. Biztonságosabb, ha a vizsgáló ciklusodat úgy futtatod, hogy a másodiktól az utolsó előtti megállóig fusson (így a szélsőkkel nem foglalkozol).
3) Úgy látom két hiba biztosan van a hetedik feladatodban: egyrészt 48 ülés helyett 49-cel operálsz (a félreindexelés halálfejes hiba); másrészt a 183. sorban lévő belső ciklus teljesen felesleges. Nem is használod a ciklusváltozóját.
De egyébként az elvben nem látok hibát.
A futás közbeni állapotot úgy tudod követni, hogy egy breakpointot raksz a programodba a forráskód bal szélén lévő sávra kattintva. Ekkor ott egy piros kör jelenik meg, és a futás leszünetelődik amikor odaér.
Ekkor a Locals fülön, alapból bal lenn látod a változóid aktuális értékét.
Ú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!
- Autós topik
- Synology NAS
- Az Intel korábbi vezére szerint a kvantumforradalom gyorsan elsöpri a GPU-kat
- Ha a koreaiakon múlik, még évekig ingünk-gatyánk rámehet a memóriákra
- Asztalos klub
- Arc Raiders
- Karácsonyi telefonajánló 2025
- Mibe tegyem a megtakarításaimat?
- Milyen videókártyát?
- Subaru topik
- További aktív témák...
- Bontatlan Logitech MX Master 3S grafitszürke színben eladó!
- Apple Airpods Pro 2 (USB-C, Magsafe) kifogástalan állapotban eladó!
- Sapphire Radeon RX 6950 XT Nitro+ 16Gb dobozában minden tartozékával eladó!
- Ryzen5 5600X/ RTX 3060Ti/ 32GB DDR4 alapú konfig/ garancia/ ingyen foxpost
- Lenovo ThinkCentre M700 SFF PC, I5-6500, 8GB DDR4, 256GB SSD, Win 11, Számla, garancia ( olvasd végi
- BESZÁMÍTÁS! ASUS TUF B760M i5 12400F 32GB DDR4 1TB SSD RX 6800 16GB ZALMAN Z1 Plus Cooler Master750W
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- BESZÁMÍTÁS! LENOVO Ideapad Gaming 3 notebook - R5 5600H 16GB DDR4 256GB +1TB SSD nVidia GTX 1650 4GB
- GYÖNYÖRŰ iPhone 12 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3395, 100% Akkumulátor
- Lenovo Thinkpad T14 Gen 3, 1 Év Garanciával
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi



