Паскаль. Типизированные файлы. Текстовые файлы.
Добавлено: 20 дек 2009, 15:19
ЗАДАНИЕ 1
Постановка задачи:
a)Создать типизированный файл заданной структуры, заполнить его информацией, вывести данные в виде таблицы на экран. (Файлы, создаваемые в задании, должны содержать не менее 5-ти строк).
b)Разработать подпрограмму обработки данного файла.
Вариант 19.
a)Создать файл, содержащий сведения о личной коллекции книголюба: шифр книги, автор, название, год издания, местоположение (номер шкафа, стеллажа и т.п.), упорядоченных по алфавиту.
b)Добавить в файл информацию о новых книгах таким образом, чтобы упорядоченность не нарушилась.
ЗАДАНИЕ 2
Выполнить ЗАДАНИЕ 1 с использованием текстового файла. Данные в текстовый файл вывести в виде таблицы.
вот часть кода:
Program Pr_1;
uses crt;
Type Knigolub=record
Shrift:string;
Avtor:string[10];
Nazvanie:string[20];
God:byte;
Mestopol:string[20];
end;
var f,g:file of Knigolub;
s,s1:knigolub;i:integer;
Procedure Zapol_File;
begin
rewrite(f);
for i:=1 to 5 do
begin
write('Avtor ');
readln(s.Avtor);
write('Srift ') ;
readln(s.Shrift);
write('Nazvanie ');
readln(s.Nazvanie);
write('God ');
readln(s.God);
write('Mestopol ');
readln(s.Mestopol);
write(f,s);
end;
close(f);
end;
procedure Find_Poz;
var poz:integer;
begin
reset(f);
rewrite(g);
repeat
read(f,s);
until eof(f) or (s.Mestopol>s1.mestopol) ;
if not eof(f) then
poz:=filepos(f)+1;
end;
procedure Copi_V_Temp;
begin
write(g,s);
while not eof(f) do
begin
read(f,s);
write(g,s);
end;
close(f);
close(g);
end;
procedure Vstavka;
var poz:integer;
begin
Find_poz;
if not eof(f) then
begin
copi_v_Temp;
reset(f);
reset(g);
seek(f,poz);
write('Avtor ');
readln(s.Avtor);
write('Srift ') ;
readln(s.Shrift);
write('Nazvanie ');
readln(s.Nazvanie);
write('God ');
readln(s.God);
write('Mestopol ');
readln(s.Mestopol);
write(f,s1);
while not eof(g) do
begin
read(g,s);
write(f,s);
end;
end
else
write(f,s1);
close(f);
close(g);
end;
BEGIN
clrscr;
assign(f,'D:\KNIGOLUB.dat');
assign(g,'D:\KNIGI.dat');
Zapol_File;
vstavka;
END.
помогите её закончить!!! плиииз! Очень нужно!!!
Постановка задачи:
a)Создать типизированный файл заданной структуры, заполнить его информацией, вывести данные в виде таблицы на экран. (Файлы, создаваемые в задании, должны содержать не менее 5-ти строк).
b)Разработать подпрограмму обработки данного файла.
Вариант 19.
a)Создать файл, содержащий сведения о личной коллекции книголюба: шифр книги, автор, название, год издания, местоположение (номер шкафа, стеллажа и т.п.), упорядоченных по алфавиту.
b)Добавить в файл информацию о новых книгах таким образом, чтобы упорядоченность не нарушилась.
ЗАДАНИЕ 2
Выполнить ЗАДАНИЕ 1 с использованием текстового файла. Данные в текстовый файл вывести в виде таблицы.
вот часть кода:
Program Pr_1;
uses crt;
Type Knigolub=record
Shrift:string;
Avtor:string[10];
Nazvanie:string[20];
God:byte;
Mestopol:string[20];
end;
var f,g:file of Knigolub;
s,s1:knigolub;i:integer;
Procedure Zapol_File;
begin
rewrite(f);
for i:=1 to 5 do
begin
write('Avtor ');
readln(s.Avtor);
write('Srift ') ;
readln(s.Shrift);
write('Nazvanie ');
readln(s.Nazvanie);
write('God ');
readln(s.God);
write('Mestopol ');
readln(s.Mestopol);
write(f,s);
end;
close(f);
end;
procedure Find_Poz;
var poz:integer;
begin
reset(f);
rewrite(g);
repeat
read(f,s);
until eof(f) or (s.Mestopol>s1.mestopol) ;
if not eof(f) then
poz:=filepos(f)+1;
end;
procedure Copi_V_Temp;
begin
write(g,s);
while not eof(f) do
begin
read(f,s);
write(g,s);
end;
close(f);
close(g);
end;
procedure Vstavka;
var poz:integer;
begin
Find_poz;
if not eof(f) then
begin
copi_v_Temp;
reset(f);
reset(g);
seek(f,poz);
write('Avtor ');
readln(s.Avtor);
write('Srift ') ;
readln(s.Shrift);
write('Nazvanie ');
readln(s.Nazvanie);
write('God ');
readln(s.God);
write('Mestopol ');
readln(s.Mestopol);
write(f,s1);
while not eof(g) do
begin
read(g,s);
write(f,s);
end;
end
else
write(f,s1);
close(f);
close(g);
end;
BEGIN
clrscr;
assign(f,'D:\KNIGOLUB.dat');
assign(g,'D:\KNIGI.dat');
Zapol_File;
vstavka;
END.
помогите её закончить!!! плиииз! Очень нужно!!!