uses dos, kujundus, crt; type oliladu=record nimi: string[5]; tonnidearv: real; end; procedure otsi_failid(var failid: nimed; var hulk: integer); var DirInfo: SearchRec; begin FindFirst('*.dat', AnyFile, DirInfo); { Same as DIR *.dat } hulk:=0; while DosError = 0 do begin if hulk<20 then inc(hulk); failid[hulk]:=DirInfo.Name; FindNext(DirInfo); end; end; var lf: file of oliladu; i, oige, n: integer; saldo: real; ladu: oliladu; vastus, laonimi: string; failid, laod: nimed; dirinfo: SearchRec; begin repeat repeat clrscr; otsi_failid(failid, n); kaota_kursor; vali(2, 1, failid, n, i); kursor_tagasi; gotoxy(20, 1); if i>=0 then assign(lf, failid[i]) else halt; reset(lf); n:=0; while not eof(lf) do begin n:=n+1; read(lf, ladu); laod[n]:=ladu.nimi; gotoxy(40, n+1); write(ladu.tonnidearv:6:2); end; vali(22, 1, laod, n, i); until i>=0; n:=filesize(lf); laonimi:=copy(laod[i], 1, 5); i:=0; oige:=-1; seek(lf, 0); while(i=0 then begin gotoxy(5, 20); write('Saldo: '); readln(saldo); if ladu.tonnidearv+saldo>=0 then begin ladu.tonnidearv:=ladu.tonnidearv+saldo; seek(lf, oige); write(lf, ladu); end else writeln('Pole piisavalt kaupa.'); end else writeln('Ladu ', laonimi,' puudub.'); writeln('Kas on veel muutusi? (ja/ei)'); readln(vastus); until vastus='ei'; close(lf); end.