Задание:
Задан файл F, состоящий из записей. Каждая запись содержит название книги, автора и год издания. Удалить из файла все записи, содержащие сведения о книгах заданного автора.
Исходный код программы на Delphi 7:
program books;
{$APPTYPE CONSOLE}
uses
SysUtils;
type book=record
name:string[20];
avtor:string[20];
god:integer;
end;
var f,fo : file of book;
b: book;
k:string;
begin
assign(f,'1.txt');
Rewrite(f);
repeat
Writeln('Dobavlenie zapisi v fail:');
Writeln('Name');
Readln(b.name);
writeln('Avtor');
Readln(b.avtor);
writeln('God');
Readln(b.god);
write(f,b);
Writeln('Dobavit eshe zapis? y/n');
readln(k);
until (k='n') or (k='N');
close(f);
Writeln('Kakogo avtora udalim iz fails?');
Readln(k);
assign(f,'1.txt');
Reset(f);
assign(fo,'temp.txt');
rewrite(fo);
while not eof(f) do
begin
read(f,b);
if b.avtor<>k then write(fo,b);
end;
close(f);close(fo);
erase(f);
rename(fo,'1.txt');
Writeln('Udalen avtor iz faila');
Readln;
end.
Описываем тип запись:
type book=record
name:string[20];
avtor:string[20];
god:integer;
end;
Блок схема:
|