BevProg Géptermi ZH, 2011.12.20.

1.feladat

A mellékelt beugro_a illetve beugro_b program kiegészítése, hogy minden pontot megadjon a program. A programban már adott szöveget nem szabad módosítani, kizárólag a kommentjelzést szabad eltávolítani a main() függvényből. Munka közben javasolt folyamatosan haladni ellenoriz() függvényenként a kommentezés eltávolításával. A beugró akkor érvényes, ha minden pontot megkaptál, és nincs semmilyen módosítás a main() függvényben és az ellenoriz() makróban, illetve tilos új #define leírása is.

Figyelem: beugró nélkül nem értékeljük a második feladatot!

2.feladat

Adott egy fájl, amiben hallgatók jelentkezései vannak géptermi ZH-ra. A fájl formátuma CSV (Comma-separated values, vesszővel elválasztott értékek). Tartalmaz egy fejlécet, amiben az egyes mezők nevei vannak, majd minden sora ilyen:
12/17/2011 1:52:21,Tiszai Balázs,NV6H3P,KEDD

tehát dátum, vessző, név, vessző, Neptun kód, vessző, választott nap. Feladatok:

a)
Adj egy naponkénti jelentést a következő adatokkal: hányan jelentkeztek keddre, hányan csütörtökre. Add meg a névsorokat (a fájlban található sorrendben) a keddi alkalomra.
b)
Néhányan rosszul használták a kérdőívet, és többszörös adatok születtek. Keresd meg azokat a sorokat a fájlban, amik olyan hallgatóról szólnak, aki már jelentkezett! Vigyázat! Több azonos nevű hallgató is van, és a Neptun kódot lehet, hogy valaki kis betűvel is és nagy betűvel is megadta a több jelentkezésében!
c)
A neptunkodok.txt fájlban vannak a neptun kódhoz tartozó csoportszámok. (megj:nem valódi csoportbeosztás). Feltehető, hogy legfeljebb 200 fős az évfolyam. A program nézze meg, hogy lehetséges-e csütörtökön úgy elosztani a hallgatókat 5 darab 25 fős terembe, hogy egy csoport minden jelentkezője egy teremben lehessen akkor, ha az algoritmus az, hogy a legkisebb csoportokat addig tesszük egy terembe, amíg elférnek? (példa: legyen a csoportok csütörtöki létszáma emelkedő sorrendben 5 7 10 11 11 12 12 12, ilyenkor 5+7+10=22 az első terembe, 11+11=22 a második terembe, 12+12=24 a harmadik terembe, 12 a negyedik terembe, tehát elférnek.)

Plusz pontért ügyesebb algoritmust is írhatsz.

Pontozás

A pontozás gyakorlatvezetőnként eltérő lehet, egy irányadó pontozási forma a következő: 10 pont a sikeres beugró, az a) b) c) feladatok működése 10-10-10 pont, a második feladatban használt függvények eleganciája 10 pontig, a rekordok értelmes tervezése szintén 10 pontig értékelhető, de összesen nem lehet több, mint az a) b) c) működésre adott pontok összege - nem lehet nem működő programra pontot kapni, csak mert szép.