Kezdőoldal » Számítástechnika » Programozás » Fájlbeolvasás, dinamikus...

Fájlbeolvasás, dinamikus struktúratömb C-ben?

Figyelt kérdés
Sziasztok! Lenne egy olyan feladat, hogy van egy szöveges dokumentum ami egy cég dolgozóit tárolja 5szempont alapján (1. azonosító [id], 2. név, 3. beosztás 4. fizetés 5. mióta dolgozik a cégnél) ezt a dokumentumot kéne beimportálni a programba, ott megszámolni hogy mennyi dolgozó van és kiírni a táblázatot. Tudna ebben valaki segíteni? Eléggé kezdő vagyok programozás terén, nem nagyon értek hozzá.

#programozás #tömb #struktúra #struct #dinamikus struktúratömb
2018. jan. 5. 16:41
 1/8 A kérdező kommentje:
Ja és amit elfelejtettem írni, string.h nélkül kellene
2018. jan. 5. 16:47
 2/8 anonim ***** válasza:
Melyik részéhez kell ennek dinamikus tömb? Beolvasod, feldolgozod, kiírod az aktuális sort - tárolni csak a sorszámot kell.
2018. jan. 5. 17:00
Hasznos számodra ez a válasz?
 3/8 anonim ***** válasza:

Erre igy nem lehet semmit se mondani. Tudni kéne hogy hogy néz ki az a fájl.

létrehozol egy struct tömböt, amibe belefér az összes adat(dianmikusan), és ahogy mész végig a fájlon töltöd fel sorban


Kezdd el, másold be a kódot ne ide, pls ideone-ra, és majd segítünk. Nem dolgozunk helyetted...

2018. jan. 5. 17:00
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
Nem.
2018. jan. 5. 17:09
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
Praktikusan olvass be egy sort (rekordot?), sorban az adatokat ahogy jönnek, a szükséges dolgokat tárold el (és/vagy írd ki képernyőre), aztán jöhet a következő sor egy ciklusban a fájl végéig.
2018. jan. 5. 19:13
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:
Közben a kiírás az sikerült, csak azt nem tudom hogyan tudnám ezt dinamikus struktúratömbbe tenni.
2018. jan. 5. 20:11
 7/8 anonim ***** válasza:

Érdemes lenne előre végigszaladni a fájlon, és csak a rekordokat megszámolni, szerintem ez gyorsan lefutna. (Sőt, ha fix méretűek a sorok/rekordok, akkor akár a fájlméretből is lehet számolni.) Ezután a megfelelő méretű tömbnek le tudod foglalni a helyet. Vagy lehet realloc-kal is menet közben bővíteni, csak nem minden egyes rekord után.


Rekordonként létrehozol egy adatstruktúrát és a pointerét bedobod a tömbbe. Használat után ne felejtsd el felszabadítani a lefoglalt memóriát.

2018. jan. 5. 23:32
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:
Vagy, ha nem ragaszkodsz a tömbhöz és nem akarod direktben indexelve használni, akkor a struktúrát kiegészíted mondjuk előző és következő pointerekkel, és egy dinamikus listát hozol létre, rekordonként lefoglalva az új helyeket.
2018. jan. 7. 15:52
Hasznos számodra ez a válasz?

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!