Лабораторная работа: 13 лаба delphi
Описание
Характеристики лабораторной работы
Список файлов
- lr13.txt 2,5 Kb
program lr13;
{$APPTYPE CONSOLE}
uses SysUtils;
type tz = record { O?aiee }
s: String[20]; { Oaieeey o?aieea }
r: integer; { Aia iao?aiey }
c: Char; { Aoeaa (io A ai E) }
end;
type tFZ = file of tz;
procedure Menu;
begin
WriteLn;
WriteLn('Menu:');
WriteLn('1. Create new file');
WriteLn('2. Open file');
WriteLn('3. Find namesakes');
WriteLn('4. Exit');
end; // of procedure Menu;
procedure CreateFile;
var f: text;
z: tZ;
l:string;
begin
WriteLn;
Write('Write file name: ');
ReadLn(l);
AssignFile(f,l);
Rewrite(f);
WriteLn('Write file content ');
readln(z.s);
while z.s<>'' do
begin
with z do
begin
Write(f,z.s);
writeln(f);
readln(r);
Write(f,z.r);
writeln(f);
readln(c);
Write(f,z.c);
writeln(f);
readln(s);
end;
end;
CloseFile(f);
end; // of procedure CreateFile;
procedure OpenFile;
var f: text;
l: String;
z: tz;
begin
WriteLn;
writeln('Write file name');
readln(l);
AssignFile(f,l);
Reset(f);
readln(f,z.s);
while z.s<>'' do
begin
with z do
begin
WriteLn(s);
Readln(f,z.r);
WriteLn(r);
Readln(f,z.c);
WriteLn(c);
readln(f,z.s);
end;
end;
CloseFile(f);
end; // of procedure OpenFile;
procedure Solve;
var n,i,j,h,k:integer; l:string; f:text;z:tz;
s:array [1..100] of string; bool:boolean;
var b:array [1..100] of string; g:array[1..100] of integer; d:array[1..100] of char;
begin
WriteLn;
writeln('Write file name');
readln(l);
AssignFile(f,l);
Reset(f);
n:=1;
readln(f,z.s);
while z.s<>'' do
begin
with z do
begin
b[n]:=s;
Readln(f,z.r);
g[n]:=r;
Readln(f,z.c);
d[n]:=c;
n:=n+1;
readln(f,z.s);
end;
end;
k:=1;
bool:=true;
for h:=1 to n do
s[h]:='';
for i:=1 to n do
begin
for j:=(i+1) to n do
begin
for h:=1 to n do
if b[i]=s[h] then
bool:=false;
if (g[i]=g[j]) and (b[i]=b[j]) and (d[i]<>d[j]) and(bool=true) then
begin
s[k]:=b[i];
inc(k);
writeln('Namesakes, Class ',g[i],' :', b[i]);
end;
bool:=true;
end;
end;
CloseFile(f);
end;
var m:byte;
begin
repeat
Menu;
ReadLn(m);
case m of
1: CreateFile;
2: Openfile;
3: Solve;
end; // of
until not (m in [1..3]);
end. // of program lr13;