Máté önállóan dolgozik, és miután ezt megoldotta, halad a tanfolyammal.
A többiek önállóan, de egymást segítve dolgoznak.
1. Az órán kiadott önvezető autós feladatsor megoldása.
Néztünk az OOP-s szerkezetre mintaprogramot, annak segítségével próbáljátok meg.
Ha kész, kikeresitek a blogból a megoldást, és ellenőrzitek.
2. Ez egy hosszú feladatsor, de a hétbe bele fog férni, ha ügyesek vagytok.
Feladatlap - Employee
Az alábbiakban egy feladatsort kell megoldanod, ami
alkalmazottak adatait tartalmazza.
A forrás fájlban a mezők jelentése: name, age, city,
department, position, gender, marital status, salary (EUR)
Forrásfájl
tartalma:
(Ha lusta
vagy kiszedni a blog miatt keletkező üres sorokat, írd meg úgy a beolvasást,
hogy mindig átléptesse ezeket.)
John;25;Budapest;IT;Engineer;Male;Single;1200
Alice;30;Debrecen;Marketing;Manager;Female;Married;900
Bob;22;Szeged;HR;Assistant;Male;Single;650
Eva;28;Budapest;Finance;Analyst;Female;Married;1100
Michael;35;Pécs;Sales;Representative;Male;Single;800
Sophia;29;Budapest;IT;Developer;Female;Married;1350
David;40;Szeged;Finance;Manager;Male;Married;1600
Sarah;27;Debrecen;IT;Designer;Female;Single;950
Daniel;32;Szeged;HR;Manager;Male;Single;1400
Emma;31;Pécs;Marketing;Coordinator;Female;Married;720
Matthew;34;Budapest;IT;Team
Lead;Male;Single;1450
Olivia;26;Szeged;Sales;Representative;Female;Single;710
William;38;Budapest;Finance;Analyst;Male;Married;1150
Ava;23;Debrecen;IT;Developer;Female;Single;1300
James;29;Budapest;Marketing;Manager;Male;Single;950
Mia;33;Pécs;HR;Assistant;Female;Married;660
Benjamin;24;Szeged;Finance;Analyst;Male;Single;1120
Charlotte;36;Budapest;Sales;Representative;Female;Married;720
Logan;30;Debrecen;IT;Engineer;Male;Single;1150
Luna;28;Szeged;Finance;Manager;Female;Single;1400
Ethan;26;Pécs;IT;Designer;Male;Single;990
Harper;35;Budapest;Marketing;Coordinator;Female;Married;810
Liam;22;Budapest;IT;Developer;Male;Single;1250
Aria;31;Szeged;Finance;Analyst;Female;Married;930
Noah;37;Pécs;Sales;Representative;Male;Single;720
Grace;29;Budapest;IT;Team
Lead;Female;Married;1520
Sophia;29;Budapest;IT;Developer;Female;Married;1350
David;40;Szeged;Finance;Manager;Male;Married;1600
Sarah;27;Debrecen;IT;Designer;Female;Single;950
Daniel;32;Szeged;HR;Manager;Male;Single;1400
Emma;31;Pécs;Marketing;Coordinator;Female;Married;720
Matthew;34;Budapest;IT;Team
Lead;Male;Single;1450
Olivia;26;Szeged;Sales;Representative;Female;Single;710
William;38;Budapest;Finance;Analyst;Male;Married;1150
Ava;23;Debrecen;IT;Developer;Female;Single;1300
James;29;Budapest;Marketing;Manager;Male;Single;950
Mia;33;Pécs;HR;Assistant;Female;Married;660
Benjamin;24;Szeged;Finance;Analyst;Male;Single;1120
Charlotte;36;Budapest;Sales;Representative;Female;Married;720
Logan;30;Debrecen;IT;Engineer;Male;Single;1150
Luna;28;Szeged;Finance;Manager;Female;Single;1400
Ethan;26;Pécs;IT;Designer;Male;Single;990
Harper;35;Budapest;Marketing;Coordinator;Female;Married;810
Liam;22;Budapest;IT;Developer;Male;Single;1250
Aria;31;Szeged;Finance;Analyst;Female;Married;930
Noah;37;Pécs;Sales;Representative;Male;Single;720
Grace;29;Budapest;IT;Team
Lead;Female;Married;1520
Oliver;28;Debrecen;Marketing;Manager;Male;Single;1120
Nora;33;Szeged;HR;Assistant;Female;Single;800
1. Készíts egy osztályt,
amely tartalmazza a szükséges mezőket. Nem kötelező kidolgozni a property-ket.
2. Írd meg a konstruktort.
3. Készíts egy osztályon
belüli virtuális metódust az adatok kiírására.
4. Propertyk kidolgozása
(Szorgalmi feladat)
Dolgozd ki a property-ket is, és használd őket az adatokhoz való korrekt
hozzáférésre és módosításra.
5. Hibakezelés (Szorgalmi
feladat)
Implementálj hibakezelést az alkalmazásban, például az adatok beolvasásakor
vagy a fájlba írás során.
6. Az osztály segítségével
hozz létre egy listát, amely objektumpéldányokat tartalmaz a forrásfájlból
beolvasott adatokkal.
7. A virtuális metódus
segítségével írd ki az összes adatot.
A következő feladatokat a program osztályban elhelyezett statikus metódusokkal
oldd meg. (Aki szeret kísérletezni, teheti ezeket a metódusokat egy újabb
osztályba.) Egyes feladatokat meg lehet oldani LINQ-val is, de ha belefér az
időbe, kódoljátok le hagyományosan is. Ha van olyan feladat, ami nem
egyértelmű, pl. az, hogyan kell kiírni, ott rád van bízva a megoldás.
8. Függvény segítségével
írd ki az életkorok átlagát.
9. Függvény segítségével
írd ki azon személyek számát, akiknek a városa 'Budapest'.
10. Függvény segítségével
keresd ki, majd a virtuális metódus segítségével írd ki a legidősebb személy
adatait.
11. Függvény segítségével
döntsd el, majd a főprogramban írd ki, hogy van-e 30 év fölötti személy, és
emellett írd ki a nevét is. (Ez a függvény tehát két értéket kell, hogy
generáljon, ezt egyetlen szövegként add vissza a főprogramnak, és a főprogram
bontsa szét az adatokat, majd utána írja ki.)
12. Függvénnyel válogasd ki
azon személyek nevét egy új tömbbe (nem listába), akik 30 évnél fiatalabbak.
Ennek a tömbnek a hasznos tartalmát írd ki a főprogramban.
13. Egyetlen függvénnyel
keresd meg a legfiatalabb és a legidősebb személyt. A függvénynek legyen két
olyan paramétere, amiben az eredményt vissza lehet juttatni a főprogramba, és
ott ki lehet írni a nevüket és a korukat. A függvény visszatérési értéke pedig
képes legyen azt jelezni, hogy van-e több ugyanolyan korú legfiatalabb személy.
14. Készíts egy függvényt,
ami átszámolja az euróban megadott havi fizetést éves fizetéssé, és az
eredményt még váltsd át magyar forintba is.
15. Készíts egy függvényt,
amelynek visszatérési értéke egy objektumokat tartalmazó lista, amelyben
szerepel az 5 millió forint éves fizetés feletti munkavállalók neve és az éves
fizetésük forintban. (Az átszámításhoz használd az előző feladat
függvényét.) Az elkészült listát a főprogram írja ki egy új fájlba
(a virtuális metódus segítségével).
16. Írj egy függvényt,
aminek a paramétere az eredeti adatokat tartalmazó listának megfelelő típusú.
Ennek segítségével számold ki az összes alkalmazott átlagfizetését.
17. Készíts a főprogramban
egy olyan listát, amiben csak a developer beosztásúak találhatók, minden
tulajdonságukkal. Hívd meg újra a főprogramból az előző függvényt, de most ez
az új lista legyen a paramétere. A főprogram írja ki a developerek
átlagfizetését.
18. Számold ki a férfi és
női alkalmazottak átlagfizetését tetszőleges módszerrel.