Помощь - Поиск - Пользователи - Календарь
Полная версия: Запись в типизированные файлы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Spaun
Здравствуйте есть программа на запись в текстовый фаил после того как я ее переделал она не работает может кто-нибуть помочь?
код:

program nomer4;
uses crt;
type
sport=record
sur:string;
name:string;
nomber:integer;
ass:byte;
res:integer;
end;

var
mas:array[1..100] of sport;
x,y:real;
n,i,maxI,minI:integer;
g: file of sport;

procedure spisok;
begin
assign(g,'C:\sport');
reset (g);
seek (g,0);
i:=1;
while not EOF(g) do
begin
read(g,mas[i]);
maxI := 1;
minI := 1;
for i:=2 to n do
with mas[i]do
begin
if mas[i].res > mas[maxI].res then maxI:=i;
if mas[i].res < mas[minI].res then minI:=i;
end;
begin
writeln(mas[maxI].sur:7,'|',mas[maxI].name:7,'|',mas[maxI].nomber:11,'|',mas[maxI].ass:5,'|',mas[maxI].res:9,'|');
writeln(mas[minI].sur:7,'|',mas[minI].name:7,'|',mas[minI].nomber:11,'|',mas[minI].ass:5,'|',mas[minI].res:9,'|');

end;
//writeln('--------------------------------------------');
close(g);

end;

procedure vvod;
begin
assign (g, 'C:\sport');
rewrite (g);
clrscr;
writeln('Введите количество спортсменов');
readln(n);
writeln;
seek (g,filesize(g);
for i:=1 to n do
begin
with mas[i] do
begin
writeln('Введите фамилию');readln(mas[i].sur);
writeln('Введите имя');readln(mas[i].name);
writeln('Введите номер школы');readln(mas[i].nomber);
writeln('Введите класс');readln(mas[i].ass);
writeln('Введите результат');readln(mas[i].res);
writeln('___________________________________________________________________');
end;
write(g,mas[i]);
end;
close(g)

clrscr;
procedure vivod;
assign(g,'C:\sport');
reset(g);
seek(g,0);
writeln('-------------------------------------------');
writeln('Фамилия|',' Имя |','Номер школы|','Класс|','Результат|');
writeln('-------------------------------------------');
i:=1;
while not EOF(g) do
begin
read(g,mas[i]);
with mas[i]do
write(mas[i].sur:7,'|',mas[i].name:7,'|',mas[i].nomber:11,'|',mas[i].ass:5,'|',mas[i].res:9,'|');
i:=i+1;
end;
n:=i-1;
close (g);
begin
vvod;
vivod;
spisok;

end.

Spaun
Все уже не надо!
Огромное спасибо Alex J'Root!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.