Тогда (при условии, что все игроки играют или за Спартак, или за Динамо), программа будет такой:
Код
type
TPlayer =
record
name: string[25];
club: string[20];
games: word;
scores: word;
end;
FPlayer = file of TPlayer;
const
filename = 'COMMON.INF';
spartak = 'SPARTAK.INF';
dinamo = 'DINAMO.INF';
procedure createFile(var f: FPlayer; name: string);
begin
assign(f, name);
{$I-} rewrite(f); {$I+}
if IOResult <> 0 then
begin
writeln( 'cannot create new file...' );
halt(100)
end;
end;
{ Проверяет правильность заполнения файла с именем name }
procedure viewFile(name: string);
var f: FPlayer;
begin
assign(f, filename);
{$I-} reset(f); {$I+}
if IOResult <> 0 then
begin
writeln( 'cannot open file...' ); halt(101)
end;
while not eof(f) do
begin
read(f, rec);
with rec do
writeln( name, ' ', club, ' ', games:4, ' ', scores:4 );
end;
close(f);
end;
{ создает файл COMMON.INF с начальными данными -
старый файл с именем COMMON.INF будет уничтожен }
procedure initFile;
var
f: FPlayer;
r: TPlayer;
ans: char;
begin
createFile(f, filename);
repeat
write('name:> '); readln(r.name);
write('club:> '); readln(r.club);
write('games:> '); readln(r.games);
write('scores:> '); readln(r.scores);
write(f, r);
writeln;
writeln('another player ? (y/n)');
readln(ans);
until (upcase(ans) <> 'Y');
close(f)
end;
var
f, fD, fS: FPlayer;
rec: TPlayer;
begin
initFile;
assign(f, filename);
{$I-} reset(f); {$I+}
if IOResult <> 0 then
begin
writeln( 'cannot open file...' ); halt(101)
end;
createFile(fD, dinamo);
createFile(fS, spartak);
while not eof(f) do
begin
read(f, rec);
if rec.club = 'spartak' then
write(fS, rec)
else
write(fD, rec);
end;
close(fS); close(fD);
close(f);
{ для проверки правильности создания файла... }
viewFile( 'spartak.inf' ); { или 'dinamo.inf' }
end.