Forum » Programiranje » [Pascal] Kako program prepričati, da preskoči vrstico
[Pascal] Kako program prepričati, da preskoči vrstico
atair ::
Pozdravljeni.
Sem še bolj začetnik v programiranju, torej imam problem:)
Kako program prepričati, da preskoči vrstico? Grem raje na konkreten primer. Naredil sem program, ki v zanki naredi nek izračun, sedaj pa želim da rezultate zapiše v datoteko, kar mi je uspelo narediti in program zapiše tri vrstice rezultata, kot sem ga sprogramiral. Problem pa se pojavi, ko gre program drugič skozi zanko, saj v prej narejeni datoteki prepiše nove rezultate s starimi, jaz pa želim, da bi nove rezultate zapisal pod starimi. Poskusil sem tako, da je program pustil tri vrstice prazne ( trikrat sem zapisal writeln(f, '');), vendar v tem primeru program zapiše prazno vrstico. Če kdo ve, kako rešiti problem, ga vljudno prosim, da mi posreduje rešitev.
CS, Mitja
Sem še bolj začetnik v programiranju, torej imam problem:)
Kako program prepričati, da preskoči vrstico? Grem raje na konkreten primer. Naredil sem program, ki v zanki naredi nek izračun, sedaj pa želim da rezultate zapiše v datoteko, kar mi je uspelo narediti in program zapiše tri vrstice rezultata, kot sem ga sprogramiral. Problem pa se pojavi, ko gre program drugič skozi zanko, saj v prej narejeni datoteki prepiše nove rezultate s starimi, jaz pa želim, da bi nove rezultate zapisal pod starimi. Poskusil sem tako, da je program pustil tri vrstice prazne ( trikrat sem zapisal writeln(f, '');), vendar v tem primeru program zapiše prazno vrstico. Če kdo ve, kako rešiti problem, ga vljudno prosim, da mi posreduje rešitev.
CS, Mitja
- spremenilo: snow ()
luli ::
V konzoli napiši writeln;
Drugače pa ko polniš string pa npr. beseda:='prva vrstica' + #10 + #13 + 'Druga vrtica';
mogoče sta kodi 10 in 13 obrnjeni, ali pa je samo 13. Prav tako je možno, da namesto #10 napišeš chr(10).
Testiraj...
Tako se največ naučiš!
Drugače pa ko polniš string pa npr. beseda:='prva vrstica' + #10 + #13 + 'Druga vrtica';
mogoče sta kodi 10 in 13 obrnjeni, ali pa je samo 13. Prav tako je možno, da namesto #10 napišeš chr(10).
Testiraj...
Tako se največ naučiš!
WarpedGone ::
V pascalu maš par načinov kako odpreš datoteko:
1. Reset - branje datoteke
2. Rewrite - pisanje v novo prazno datoteko, če že obstaja jo povozi
3. Append - nove stvari doda na koncu obstoječe datoteke
http://www.geocities.com/SiliconValley/...
1. Reset - branje datoteke
2. Rewrite - pisanje v novo prazno datoteko, če že obstaja jo povozi
3. Append - nove stvari doda na koncu obstoječe datoteke
http://www.geocities.com/SiliconValley/...
Zbogom in hvala za vse ribe
atair ::
Malo sem programiral naprej in sem naletel še na eno težavo. V neki .txt datoteki imam podatke zapisane v obliki
1 2 3 4 5 6 7 8 9...
Zanima me, kako prebrati podatke tako, da se bo vsaka številka zapisala v svojo spremenljivko, torej 1 v npr. a, 2 v b, 3 v c, potem bi program izračunal par stvari in zopet 4 v a, 5 v b, 6 v c, 7 v a...
Upam, da sem dovolj kasno opisal problem, in prosim za pomoč
Mitja
1 2 3 4 5 6 7 8 9...
Zanima me, kako prebrati podatke tako, da se bo vsaka številka zapisala v svojo spremenljivko, torej 1 v npr. a, 2 v b, 3 v c, potem bi program izračunal par stvari in zopet 4 v a, 5 v b, 6 v c, 7 v a...
Upam, da sem dovolj kasno opisal problem, in prosim za pomoč
Mitja
WarpedGone ::
Tole se da narest na več načinov.
Morda najlažji je, da najprej celotno vsebino datoteke prebereš v en ("dovolj dolg") string, nato pa iz njega režeš ven vrednosti, ki so med seboj ločene s presledkom. Te prebrane vrednosti na koncu pretvoriš v integer (long) in daš v ustrezno spremenljivko.
To je možno, če je največje število teh sprememnljivk v datoteki znano v naprej. Če to ne drži se moraš stvari lotit malo drugače. V zanki iz datoteke bereš po eno vrednost naenkrat in jo shraniš v nek dinamično kreiran array - tle ne potrebuješ v naprej znane velikosti, array lahko sproti povečuješ ko se pojavi potreba.
Morda najlažji je, da najprej celotno vsebino datoteke prebereš v en ("dovolj dolg") string, nato pa iz njega režeš ven vrednosti, ki so med seboj ločene s presledkom. Te prebrane vrednosti na koncu pretvoriš v integer (long) in daš v ustrezno spremenljivko.
To je možno, če je največje število teh sprememnljivk v datoteki znano v naprej. Če to ne drži se moraš stvari lotit malo drugače. V zanki iz datoteke bereš po eno vrednost naenkrat in jo shraniš v nek dinamično kreiran array - tle ne potrebuješ v naprej znane velikosti, array lahko sproti povečuješ ko se pojavi potreba.
Zbogom in hvala za vse ribe
joze67 ::
while not eof(f) do begin
read(a); read(b); read(c);
compute(a, b, c)
end;
Zgodovina sprememb…
- spremenilo: joze67 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Python - pomoč (strani: 1 2 3 )Oddelek: Programiranje | 18167 (8915) | black ice |
» | C# pomoč pri razmišljanjuOddelek: Programiranje | 2318 (1462) | urozz |
» | Program ne deluje več (strani: 1 2 )Oddelek: Programiranje | 6632 (5370) | Genetic |
» | zlobni C ali kako sprogramirat sledeč program =)Oddelek: Programiranje | 1782 (1341) | charlotte |
» | [c++]file read problemOddelek: Programiranje | 1600 (1335) | 'FireSTORM' |