Potrebujem pomoc v pascale

Programovacie jazyky, rady, poradňa...
Kosto15
Novice
Novice
Príspevky: 5
Registrovaný: 16 máj 2009, 12:09

Potrebujem pomoc v pascale

Príspevok od používateľa Kosto15 »

V skole sme dostali zadanie na program.Neviem si s nim rady.Pomozte my pls lebo ak ho neurobym taq my hrozi reparat skole.
Tu je zadanie:
Zostavte program ktorým:
-Vložite nazov knihy,jej cenu,počet kusov a celkovu cenu za dany druh knihy
-Spočítate celkovú hodnotu všetkých kníh v obchode a pocet druhov kníh
-Vytlačite celý dátový súbor na obrazovke
-Uložíte dátový subor na HDD
-Umožníte načitanie dátového suboru z HDD
-Umožníte pridanie dalšej knihy do datoveho suboru


Prosim pomozte my s tym :(
Thek_SVK
Professional
Professional
Používateľov profilový obrázok
Príspevky: 1534
Registrovaný: 24 feb 2007, 21:56

Príspevok od používateľa Thek_SVK »

Taketo veci som este neskusal, kazdopadne ak vies aspon nieco v pascale, pozri si toto, predpokladam ze sa to bude robit cez
zaznamy http://sulo.stary-gympel.sk/free-pascal-zaznamy/
+ http://sulo.stary-gympel.sk/free-pascal ... o-subormi/
Kosto15
Novice
Novice
Príspevky: 5
Registrovaný: 16 máj 2009, 12:09

Príspevok od používateľa Kosto15 »

Thek_SVK napísal:Taketo veci som este neskusal, kazdopadne ak vies aspon nieco v pascale, pozri si toto, predpokladam ze sa to bude robit cez
zaznamy http://sulo.stary-gympel.sk/free-pascal-zaznamy/
+ http://sulo.stary-gympel.sk/free-pascal ... o-subormi/
No ja akurat neviem ako sa vypocita celkova hodnota vsetkych knih v obchode a pocet druhov knih
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Kosto15 napísal:No ja akurat neviem ako sa vypocita celkova hodnota vsetkych knih v obchode a pocet druhov knih
počet druhov bude vlastne počet záznamov v tom dátovom súbore, celková hodnota je cena*počet kusov daného druhu a toto vyjadríš pre každý druh knihy. Jednotlivé hodnoty potom zrátaš
Kosto15
Novice
Novice
Príspevky: 5
Registrovaný: 16 máj 2009, 12:09

Príspevok od používateľa Kosto15 »

audiotrack napísal:počet druhov bude vlastne počet záznamov v tom dátovom súbore, celková hodnota je cena*počet kusov daného druhu a toto vyjadríš pre každý druh knihy. Jednotlivé hodnoty potom zrátaš
No to viem aj ja len neviem ako to napisat do programu pomocou prikazov.To je to
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

dobre, z toho mi vychádza že ostatné veci máš hotové alebo vieš spraviť. Tak (keď to budeš mať) to sem daj, a s týmto rátaním ti pomôžeme. Nechce sa mi to ale robiť celé od začiatku
Kosto15
Novice
Novice
Príspevky: 5
Registrovaný: 16 máj 2009, 12:09

Príspevok od používateľa Kosto15 »

Pomozete my s tym prosim??Najde sa tu niekto???
Toto je to co mam zatial spravene

Kód: Vybrať všetko

program Kniznica;
uses crt;
label 100;
var f:text;
    kniha:string[10];
    cena:real;
    CelkovaCena:real;
    PocetKusov:byte;
    x,p:char;
    i:byte;
procedure napln;
begin
assign(f,'H:\predajna.dat');
rewrite(f);
i:=1;
textcolor(yellow);

  clrscr;
  write(i,'.kniha: ');readln(kniha);writeln(f,kniha);

  writeln;


write(i,'.cena: ');readln(cena);writeln(f,cena);

  writeln;


write(i,'.pocet kusov: ');readln(PocetKusov);writeln(f,PocetKusov);

  writeln;


write(cena:3:2,'*',PocetKusov:3,'=',CelkovaCena:3:2);

  writeln;


inc(i);
writeln;
repeat
write('Koniec vkladania? a/n: ');
readln(p);
until p='a';
close(f);
readln;
readln;
end;

procedure zobraz;
begin
clrscr;
assign(f,'H:\predajna.dat');reset(f);
writeln('   kniha    cena     celkova cena     pocet kusov');
while not eof(f) do begin
        readln(f,kniha);
        readln(f,cena);
        readln(f,CelkovaCena);
        readln(f,PocetKusov);
writeln(kniha:8,cena:4,CelkovaCena:17,PocetKusov:16);
readln;
end;
close(f);
readln;readln;
end;
begin
100:
write('n-napln, t-tlac, k-koniec:  ');
readln(x);clrscr;
case x of 'n':napln;
          't':zobraz;
          'k':halt;

          end;

goto 100;

end.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

máš tam viac chýb ako si myslíš, repeat čo je pred

Kód: Vybrať všetko

write('Koniec vkladania? a/n: ');
má byť na začiatku procedúry napln (nie ale úplne na začiatku, ale až po otvorení súbora). Súbor neotváraj cez rewrite, lebo si ho stále prepisuješ a uchováva sa ti iba posledná kniha. Dávaj tam append, ale najprv treba overiť či existuje, ak nie tak bude rewrite (overovanie tu niekde bolo, skús cez fileexists ak je to aj v pascale, alebo direktívami I+
pred riadok

Kód: Vybrať všetko

write(cena:3:2,'*',PocetKusov:3,'=',CelkovaCena:3:2);
by malo ísť vyrátanie sumy, lebo ju vypisuješ aj keď v tej premennej nič nieje, čiže nejak takto:

Kód: Vybrať všetko

CelkovaCena := cena * PocetKusov;
Tieto celkové ceny by si si mal tiež ukladať do súboru aby si vedel zistiť ich súčet pre celkovú sumu všetkých kníh. Počet druhov je vlastne hodnota ktorá je v i.
Napísať odpoveď