1. Be kell fejezni a monitorvásáros feladatsort.
2. Ez egy hosszú feladatsor, jussatok el minél messzebbre. Segítsetek egymásnak.
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.
Nincsenek megjegyzések:
Megjegyzés küldése