Free pascal programozas?

Figyelt kérdés
Hogyan lehet tombbel kiiratni azt a fajlt ami lottoszamokat tartalmaz az evvel es a hettel egyutt? Magyarul van 5 szam+het+ev. Elore is koszonom!

2017. febr. 7. 22:57
 1/7 anonim ***** válasza:

Szeritnem valahogy így: (rekordot definiáltam, egy ilyen fájlt kellene létrehozni, nem tudom milyen rekordot alkottál, de be kellene olvasni a fájlból a rekordot és kiíratni.

program lottotomb;


type

lotto=record

ev:word;

het:byte;

szamok:array[1..5] of byte;

end;

var

lfile:file of lotto;

lelem:lotto;

begin

assign(lfile,'lotto.dat');

reset(lfile);

while not eof(lfile) do

begin

readln(lfile,lelem);

{adatokat kiíratod}

end;

end.

2017. febr. 8. 16:41
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:

Kellene tudni, hogy a - feltételezem - már létező fájlodban hogy nézett ki a rekord szerkezete, mert én ugyan írtam egyet #1 válaszban, de ha nem ilyen volt a rekord felépítése akkor nem lesz jó a kiiratás sem.

Adatbevitelt azért nem írtam bele, mert kérdésedből úgy vettem ki: létező fájlt szeretnél kiiratni.

Jaa igen, a tömbbel kiiratás: tömbként definiálod a rekordot, ciklusban pedig a tömbbe olvasod be a fájl tartalmát rekordonként, egy változót növelsz minden beolvasásnál, így tudod majd meddig tart a tömb, amíg ki kell iratni.

2017. febr. 8. 16:49
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:
Koszonom szepen a segitseget! Igen valami hasonlo volt a rekord.
2017. febr. 8. 18:04
 4/7 anonim ***** válasza:

Na valami ilyesmi (tovább írtam). :-)

Dinamikus tömbbel természetesen esztétikusabb lett volna megvalósítani.

program lottotomb;


type

lotto=record

ev:word;

het:byte;

szamok:array[1..5] of byte;

end;

var

lfile:file of lotto;

ltomb:array[1..999] of lotto;

i,count:word;

j : byte;

lrek:lotto;

begin

assign(lfile,'lotto.dat');

reset(lfile);

count:=1;

while not eof (lfile) do

begin

read(lfile,lrek);

ltomb[count]:=lrek;

inc(count);

end;

for i:=1 to count do

begin

writeln(ltomb[i].ev, ' ',ltomb[i].het,' szamai:');

for j:=1 to 5 do

write(ltomb[i].szamok[j],' ');

end;

close(lfile);

end.

2017. febr. 9. 08:18
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:
Koszonom szepen ezt is kiprobalom majd!
2017. febr. 9. 15:13
 6/7 A kérdező kommentje:
A masodiknal azt irja hogy az lrek valtozot nem tudja olvasni vagy irni. Ez miert van?
2017. febr. 9. 16:06
 7/7 anonim ***** válasza:

Írd át a rekordot olyan típusra, mint amilyen típussal feltöltötted a fájlt.

Ha előzőleg létrehoztál egy rekord-típussal egy fájlt és most az én programommal szeretnéd olvasni, akkor ez nem fog működni, mert más a rekord felépítése feltételezhetően.

2017. febr. 9. 16:48
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!