
Easter Bug Hunt 2024
Köszöntünk az info9 húsvéti hibakereső játékában!
A hibakeresés egy fontos eleme a programozás elsajátításának – hiszen mindannyian emberek vagyunk, mind vétünk hibákat időről időre, és elengedhetetlenül fontos, hogy ezeket a hibákat megtaláljuk, és ki is tudjuk önállóan javítani. Ennek a képességnek az elsajátítására, fejlesztésére alkottuk meg az Easter Bug Hunt játékunkat, ahol húsvéti tojások helyett programokban elrejtett apró hibákat kereshettek, kutathattok!
Neked sikerül mindet megtalálnod?
A projekt
A lentebb található program magántanárok tanóráinak a nyilvántartására készült.
A hozzá tartozó maganorak.txt szöveges állomány egy pontosvesszővel tagolt fájl, amely minden tanóráról az alábbi adatokat tartalmazza:
- Tanár neve: szöveg, az órát tartó tanár keresztneve
- Diák neve: szöveg, a diák teljes neve
- Dátum: szöveg, a foglalkozás dátuma ÉÉÉÉ-HH-NN formátumban
- Időpont: szöveg, az óra kezdésiidőpontja ÓÓ:PP
- Tantárgy: szöveg, a foglalkozás tantárgya
- Óradíj: szám, a foglalkozás óradíja
- Hét napja: 1 és 7 közötti egész szám, amely azt mutatja, hogy milyen napon volt az adott óra (1: hétfő, 2: kedd, … 7: vasárnap)
- Fizetve: igen/nem, megmutatja hogy a foglalkozást kifizették-e már
Ezen adatokat olvassa be a program, majd a benne található menüben az alábbi 5 funkció érhető el:
- Diák keresése: a program bekéri egy diák nevét, majd kilistázza az adott diák óráit. Amennyiben ilyen nevű diáknak egy órája sincs rögzítve, úgy a Nincs ilyen nevű diák rögzítve. üzenet jelenik meg.
- Tanári pénzügyek: a program bekéri egy tanár nevét, majd kiszámítja, hogy mennyi kifizetett, és mennyi kifizetetlen órája van az adott tanárnak. Ha az adott tanár nem létezik, akkor a Nincs ilyen nevű tanár. üzenet jelenik meg.
- Fizetetlen órák: a program kilistázza az összes kifizetetlen magánórát, és kiírja azok össz. értékét és darabszámát.
- Tantárgyankénti jelentés: a program megszámolja, hogy az egyes tantárgyakból hány óra volt megtartva a hónapban.
- Hétvégi órák kimutatása: a magántanár csoport körében régi dilemma az, hogy vajon érdemes-e hétvégente magánórákat tartani. Ennek a döntésnek a meghozatalához készült a hétvégi órák kimutatása, amely diákonként megmutatja a hétköznapi és hétvégi órák darabszámát, valamint a hétvégi órák arányát százalékban.
A program input fájlja helyes adatokat tartalmaz.
Forráskódok
Forráskód (+adatfájl) C# nyelven* - Forráskód (+adatfájl) Ruby nyelven - Forráskód (+adatfájl) Python nyelven
*a C# forrásfájl a verziófüggetlenség érdekében csak a Program.cs állományt tartalmazza. Ezt nyugodtan másold be egy új .NET Framework konzol alkalmazásba, vedd fel mellé az adatállományt, és máris kezdődhet a móka!
Miért érdemes megpróbálni?
Amikor elkezdünk programozást tanulni, sokszor ugyanazok a típushibák kerülnek elő újra és újra. Ebben a hibakereső játékban, a legtöbb más hasonló projekttel szemben, most nem biztonsági sebezhetőségekre helyeztük a fókuszt, hanem egyszerű, működésbeli és számításbeli hibákra, amikbe könnyen belefuthatunk akár egy érettségin, vagy akár ha önmagunknak próbálunk valamilyen apró programot fejleszteni.