Kezdőoldal » Számítástechnika » Programozás » Ötlet, hogy mért nem adja a...

Ötlet, hogy mért nem adja a fájl utolsó sorát a listához? (c#)

Figyelt kérdés

A 2017 októberi informatikai érettségijéről van szó programozás résznél. A Feladatsor már "teljesen" készen van, csupán annyi a gond, hogy a fájl utolsó sorát nem adja hozzá a Tanulok listához, emiatt több feladatnál is (pl a2-es, 6-os) kevesebb érték jön ki. Csak a fura az, hogy beolvasni beolvassa, mivel mikor a StreamReader-ben a hozzáadás történik a Tanulok listához és utána rögvest kiíratom akkor ott van, VISZONT mikor már a konstruktoron kívül egy metódussal (pl 2.feladat) egy foreach-csel kiíratnám a összes elemet akkor már nincs ott, ez látszik a db számon is mivel 1-gyel kevesebbet hoz (139 helyett csak 138-cat). Mi lehet a gond?


[link]


2020. máj. 8. 10:34
 1/4 A kérdező kommentje:
2020. máj. 8. 10:34
 2/4 anonim ***** válasza:
61%
File.ReadAllLines, File.ReadAllText StreamReader stb. hogy csak néhány egy soros módot említsek fájl beolvasára. Az érettségi nem gyakorlás, gyorsan és jól akarod megoldani a feladatokat, nem egyedi megoldásokkal kockáztatni a bugokat. Ha már okosan C#-ot választasz, akkor használd is ki a képességeit.
2020. máj. 8. 10:57
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

Az a baj, hogy a Hianyzasok listába csak akkor rakod bele, ha # jellel kezdődik a sor (ekkor beteszed a lsitába az előző tanuló listát). Viszont az utolsó lista után nincs még egy # kezdetű sor. Ezért a ciklus után (miután elfogyott a fájl), az utolsó tanuló listát még hozzá kell adnod a hiányzásokhoz.


Még 2 észrevétel:

1. az első # kezdetű sort külön kéne kezelned, mert ekkor nincs előző tanuló listád, amit beleteszel a hiányzások listába

2. a 64. és 65. sor fel van cserélve, vagy mondom másképpen: amikor a következő # kezdetű sornál tartasz, akkor nem az abban lévő dátum az addig gyűjtött hiányzások dátuma, hanem a korábbi!


Tehát valahogy így kellene feldolgozni, ha # kezdetű sor van:

- ha nem üres a tanuló lista, akkor az előző dátummal beteszed a hiányzások listájába

- létrehozol egy üres tanuló listát

- elmented a dátumot (ezzel lesz meg az előző dátum a következő # sornál)

2020. máj. 8. 11:59
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Így a problémát már értem, viszont ha úgy csinálom ,mint mondtad, akkor 0 elemű lesz mindegyik listám (vagy csak én csináltam valamit rosszul)
2020. máj. 10. 14:54

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!