2023. szeptember 23., szombat

2023.09.25.-29. Helyettesítés - Programozás feladatsor

1. Be kell fejezni a monitorvásáros feladatsort.

2. Ez egy hosszú feladatsor, jussatok el minél messzebbre. Segítsetek egymásnak.

  1. 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. 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