Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

Zárthelyi programozási feladat:

Helyezze el nevét, születési dátumát és a dátumot megjegyzésként a forrásállományban is, a projekt neve SajatNev
legyen.
A feladat szövegében megadott elnevezéseket használja, ha vannak ilyenek.
A program elkészítésére 70 perc áll rendelkezésére. Ha a projektet a VisualStudio 2019 nem tudja lefordítani szintaktikai
hiba miatt, a feladat értékelése 0 pont!

Írjon programot, amely egy parkoló automata naplójának eredményeit olvassa be egy fájlból és kiértékeli az adatokat.

A napló az alábbi formátumú text fájlban vannak tárolva:

s<sorszám> érkezés_másodperc távozás_másodperc Kategória rendszám



Pl:
s1 1220 2102 D ABV-043
s2 2220 6705 V GLS-031
s3 3230 3992 V AHR-140
s4 4160 5806 V MBS-204
s5 5220 6102 D ABV-043
s6 5610 6723 M MSV-146

A kategória háromféle lehet: Dolgozó, Vendég, Mozgássérült. A fájlban ennek csak az első betűje van megadva.
Az érkezések szerinti sorrendben vannak a járművek.

Definiáljon egy enum típust a névérben, aminek a neve: PKategória és a fenti háromféle értéke lehet. (5 pont)

Definiáljon egy Parkol nevű osztályt, amelynek privát tagjai:


erkezes, ami egy egész szám (másodpercben)
tavozas, ami egy egész szám (másodpercben)
rsz, ami egy string
pk, ami egy PKategória típus (5 pont)

Publikus metódusai:

Készítsen a rendszámhoz egy lekérdező (getter) és egy beállító (setter) property-t, úgy hogy a setter csak akkor állítsa be a
rendszámként kapott értéket, ha a string pont 7 karakteres és a középső egy ’-’ karakter. (5 pont)

paraméteres konstruktor: A konstruktor paraméterként vegye át egy darab stringben a fájl egy sorát, benne az összes
járműre vonatkozó adattal (pl: „s1 1220 3202 D ABV-043”).
A konstruktor a stringből állapítsa meg az érkezési időt és a távozási időt, a kategóriát és a rendszámot.
Írja be ezeket az adatokat a neki megfelelő tagokba. (5 pont)

Készítsen egy lekérdező (getter) tulajdonságot, melynek neve legyen ParkolasiIdo. Ha negatív, legyen a parkolási idő 0.
(5 pont)

Fizetes nevű metódus: visszatérési értéke a fizetendő összeg. Ezt a következőképpen állapítsa meg: Vendégek esetén: ha a
parkolási idő < 700, akkor 0 a díj, egyébként minden megkezdett óra 300 Ft. Azaz pl. ha 4300 az idő, akkor az 1 óra +
700 mp, tehát 2*300Ft = 600Ft. A dolgozóknak és a mozgássérülteknek a parkolás ingyenes, azaz a díj 0. (5 pont)

Az Object-től örökölt, felülírt ToString() metódust: amely a példányt a következő formában jelenítse meg:
rendszám erkezes-tavozas * ParkolasiIdo * Fizetes Ft (5 pont)
Pl:
ABV-043 1220-2102 * 882 * 0 Ft # Dolgozó

Tesztelés:

Hozzon létre egy tesztfájlt, melyben 5-6 jármű adatai szerepelnek a megadott minta szerint. Hozzon létre egy Parkol
típusú listát és adja hozzá a listához a fájlból beolvasott adatokból létrehozott Parkol példányokat. A fájl-megnyitási
kivételt kezelje: adjon hibaüzenetet a konzolra és mást ne csináljon. Ha nincs kivétel, akkor hajtsa végre a többi tesztelő
feladatot.
Készítsen egy listát a járművekről a ToString használatával és a listát jelenítse meg a képernyőn. (10 pont)
Írja ki a legrövidebb ideig parkoló, nem 0 Ft-ot fizető jármű adatait. (5 pont)

You might also like