Есть у кого-нибудь какие-нибудь предложения по этому поводу?
код:
Program nomer7;
Uses Crt;
Type
sur=string;
sport=record
name:string;
nomber:integer;
ass:byte;
res:integer;
fio:sur;
end;
Var g: file of sport;
rez:string;
vod:sport;
vid:byte;
Procedure VvodRec;
Begin
Writeln('Ввод записи ј ',FilePos(g)+1);
With vod do
Begin
Write('Введите фамилию:');
Readln(fio);
Write('Введите имя:');
Readln(name);
Write('Введите номер школы:');
Readln(nomber);
Write('Введите класс:');
Readln(ass);
Write('Введите результат:');
Readln(res);
Write(g,vod);
End;
End;
Procedure CrB;
Var i,n:integer;
Begin
Assign(g,'C:\sport');
Rewrite(g);
Writeln('Введите число записей в справочнике ');
Readln(n);
For I:=1 to n do
Vvodrec;
Writeln('Создание справочника завершено');
Close(g);
End;
Procedure ProsRec;
Begin
Read(g,vod);
With vod do
begin
Writeln(fio:7,'|',name:7,'|',nomber:5,'|',ass:5,'|',res:9,'|');
end;
End;
Procedure ProsAllRec;
Begin
Assign(g,'C:\sport');
Reset(g);
Seek(g,0);
Writeln('*$*$*$*$*$*$*Вывод Результатов Соревнований*$*$*$*$*$*$*');
Writeln('--------------------------------------');
Writeln('Фамилия|','Имя |','Школа|','Класс|','Результат|');
Writeln('--------------------------------------');
While not EOF(g) do
ProsRec;
Writeln;
End;
Procedure DopolRec;
Var n,i:integer;
Begin
Assign(g,'C:\sport');
Reset(g);
Seek(g,FileSize(g));
Writeln('Введите число дополнительных записей ');
Readln(n);
For I:=1 to n do
VvodRec;
Writeln('Измененный файл содержит ',FileSize(g),' записи');
Close(g);
End;
Procedure FindFio;
Var Maska:sur;
Flag:boolean;
Begin
Assign(g,'C:\sport');
Reset(g);
Writeln('Введите фамилию для поиска: ');
Readln(Maska);
Flag:=False;
While not EOF(g) do
begin
Read(g,vod);
With vod do
If Pos(Maska,Fio)<>0
Then
begin
Flag:=True;
Writeln('Фио: ',fio,' Имя: ',name,'Школа',nomber,'Класс',ass,'Результат',res);
end;
end;
If not Flag
Then
Writeln('В списке нет участников с фамилией ',Maska);
Close(g);
End;
Procedure DeleteFile;
Begin
Assign(g,'C:\sport');
Reset(g);
Truncate(g);
Writeln('Компоненты файла были успешно удалены');
End;
Begin
ClrScr;
Repeat
Writeln('Список результатов соревнований');
Writeln('Выберите вид работы:');
Writeln('1-Создание нового файла');
Writeln('2-Просмотр списка ');
Writeln('3-Дополнение списка');
Writeln('4-Поиск участника');
Writeln('5-Удаление всех компонентов списка');
Writeln('0-Выход');
Readln(vid);
Case Vid of
1:CrB;
2:ProsAllRec;
3:DopolRec;
4:FindFio;
5:DeleteFile;
6:Exit;
end;
Writeln;
Until Vid=6;
Read;
End.