Добавил:
3axap4uk_
brawlherry@gmail.com
Рыльский филиал МГТУ ГА.
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Практические / prakt11 / 11,2
.pasPROGRAM KAD;
TYPE ZAP=RECORD
FAM: STRING[30];
GOD: 1900 ..2005;
END;
VAR F: FILE OF ZAP;
Z: ZAP;
K, N,I,l: INTEGER;
PROCEDURE CHTENIE;
BEGIN
ASSIGN (F,'KAD.DAT'); {процедура чтения из файла kad.dat}
RESET (F);
I:=1;
WHILE NOT EOF (F) DO
BEGIN
READ (F, Z);
SEEK (F, I);
WRITELN (I,' ', Z.FAM,' ', Z.GOD);
I:=I+1;
END;
CLOSE (F)
END;
PROCEDURE VVOD;{процедура ввода данных в поля записи и в файл}
BEGIN
WRITELN('СКОЛЬКО БУДЕМ ВВОДИТЬ ЗАПИСЕЙ?');
READLN (N);
FOR VAR I:=1 TO N DO
BEGIN
WRITELN ('ФАМИЛИЯ'); READLN (Z.FAM);
{ввод данных}
WRITELN ('ГОД РОЖД.'); READLN (Z.GOD);
{ в запись }
WRITE(F,Z);
{ввод записи в файл}
END; CLOSE (F);
END;
PROCEDURE NOVY;
{процедура открытия файла для записи}
BEGIN
ASSIGN (F,'KAD.DAT');
REWRITE (F);
VVOD;
{использование ранее описанной процедуры vvod}
END;
PROCEDURE DOPOLNENIE; {процедура дополнения записей в файл}
BEGIN
ASSIGN(F,'KAD.DAT');
RESET(F); {при таком открытии файла его содержимое не уничтожается}
SEEK (F,FILESIZE(F));
VVOD;
END;
procedure redaktor;
begin
assign(f,'KAD.DAT');
reset(f);
write('введите номер записи');
readln(l);
SEEK (f,l);
VVOD;
end;
PROCEDURE MENU; {процедура MENU позволяет выбирать нужную
операцию}
BEGIN
REPEAT
WRITELN(' 1 ЗАПИСЬ В НОВЫЙ ФАЙЛ');
WRITELN(' 2 ЧТЕНИЕ ');
WRITELN(' 3 ДОПОЛНЕНИЕ ');
WRITELN(' 4 КОНЕЦ РАБОТЫ ');
writeln(' 5 редактирование ');
READLN (K);
CASE K OF
1:NOVY;
{вызов ранее описанных процедур}
2:CHTENIE;
3:DOPOLNENIE;
5:redaktor;
END;
UNTIL K=4;
END;
BEGIN
MENU
END.
{это и есть программа (раздел операторов)}