{T O" O" K I R J E F A I L I G A } program toofail; {Programm sisestab kirjefaile ja valjastab iga kirje kujul nr) eesnimi perekonnanimi vanus } uses crt; const MAXNIMI=16; type nimetyyp=string[16]; isik=record pnimi:nimetyyp; enimi:nimetyyp; vanus: 0..120; end; failityyp = file of isik; var failinimi:string; kirjefail: failityyp; function AvadaFail( var sisefail: failityyp; {avatav fail} valisfail: string {faili tegelik nimi} ):Boolean; begin assign(sisefail, valisfail); {$I-} reset(sisefail); {$I+} AvadaFail := IOresult = 0; end; function lopetada: Boolean; {kysib "Kas veel?"; tagastab true, kui vastatakse 'e' false, kui vastatakse 'j'} var vastus: char; begin repeat writeln; writeln('Kas veel (j/e)?'); vastus := UpCase(readkey); until vastus in ['J', 'E']; lopetada := vastus = 'E'; end; procedure Toodelda(var f: failityyp); {kuvab kirjed failist f} var k: isik; nr: integer; begin nr := 1; {kirje jarjenumber} while not eof(f) do {iga kirje korral} begin read(f,k); writeln (nr,') ', k.enimi,' ', k.pnimi,' ', k.vanus, ' a.'); nr := nr + 1; end; end; begin repeat writeln; writeln('Palun faili nimi'); readln(failinimi); if not AvadaFail(kirjefail, failinimi) then writeln('Ei saa avada!') else Toodelda(kirjefail); until lopetada; end. 6