Вот прога:
program q;
type ekz=record
gr:string;
fio:string;
ex:array[1..5] of integer end;
var spf:file of ekz;
spr:ekz;
rej,i:integer; f:string; c:char;
procedure sozd;
begin
rewrite(spf);
with spr do begin
writeln('введите группу');
readln(gr);
writeln('введите ФИО');
readln(fio);
writeln('введите 5 оценок по экзаменам');
for i:=1 to 5 do begin write(i,'-ая оценка');
readln(ex[i]) end;
write(spf,spr);
writeln('продолжить ввод? y/n');
read©;
if (c='n') or (c='N') then exit; end;
end;
procedure obr;
begin
reset(spf);
writeln('введите ФИО для поиска');
readln(f);
with spr do while not Eof(spf) do begin
read(spf,spr);
if f=fio then begin writeln('ФИО:',fio:30,'группа:',gr:7);
writeln('оценки:');
for i:=1 to 5 do write(ex[i]:4,',') end;
close(spf)
end;
begin
assign(spf,'D:\spis.txt');
while true do
begin
writeln('меню:');
writeln('1: создание списка;');
writeln('2: поиск по ФИО студента;');
writeln('3: выход');
readln(rej);
case rej of
1: sozd;
2: obr;
3: halt;
else writeln('ошибка!!! повторите ввод'); end; end;
end.
требует ; после последнего end перед точкой.