Kod: Zaznacz cały
program zad3;
uses crt;
type
rekord = record
imie : string;
nazwisko : string;
wiek : byte;
end;
r=file of rekord; {wyskakuje błąd}
var
plik:r;
x : integer;
naz : string;
procedure zapisz(var p:r; a : integer);
var
b : rekord;
i : integer;
const
dane: array[1..5] of rekord = (
(imie: 'Jacek'; nazwisko: 'Mlot'; wiek: 45),
(imie: 'Kasia'; nazwisko: 'Milosz'; wiek: 18),
(imie: 'Boguslaw'; nazwisko: 'ksiazek'; wiek: 52),
(imie: 'Maciek'; nazwisko: 'Malenczuk'; wiek: 22),
(imie: 'Katarzyna'; nazwisko: 'Maciejewska'; wiek: 39));
begin
assign(p, 'f:\214A\lab10\plik3.txt');
rewrite(p);
for i:=1 to a do
begin
clrscr;
writeln('Podaj dane rekordordu nr ', i);
writeln;
with b do
begin
write('Imie : ');
readln(imie);
write('Nazwisko : ');
readln(nazwisko);
write('Wiek : ');
readln(wiek);
end;
write(p, b);
end;
for i:=1 to 5 do write(p, dane[i]);
close(p);
end;
procedure wyswietl(var p : r);
var
b : rekord;
i : integer;
begin
assign(p, 'f:\214A\lab10\plik3.txt');
reset(p);
i := 0;
while not eof(p) do
begin
inc(i);
writeln('Dane rekordordu nr ', i);
writeln;
read(p, b);
with b do
begin
write('Imie : ');
writeln(imie);
write('Nazwisko : ');
writeln(nazwisko);
write('Wiek : ');
writeln(wiek);
end;
writeln;
end;
close(p);
end;
procedure szukaj(var p : r; n : string);
var
b : rekord;
i : integer;
znaleziono : boolean;
begin
clrscr;
assign(p, 'f:\214A\lab10\plik3.txt');
reset(p);
i := 0;
znaleziono := false;
while not eof(p) do
begin
inc(i);
read(p, b);
if(b.nazwisko = n) then
begin
writeln('Znaleziono osobe o nazwisku ', n, ' w rekordordzie ', i);
write('Imie : ');
writeln(b.imie);
write('Nazwisko : ');
writeln(b.nazwisko);
write('Wiek : ');
writeln(b.wiek);
writeln;
znaleziono := true;
end;
end;
if not znaleziono then writeln('Nie znaleziono osoby o podanym nazwisku.');
close(p);
end;
begin
clrscr;
write('Podaj liczbe rekordow do zapisania : ');
readln(x);
zapisz(plik, x);
clrscr;
wyswietl(plik);
readkey;
clrscr;
write('Podaj nazwisko do wyszukania : ');
readln(naz);
szukaj(plik, naz);
readkey;
end.