Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник задач Бабалова.doc
Скачиваний:
95
Добавлен:
04.06.2015
Размер:
1.16 Mб
Скачать

Var I:word;

n:boolean;

begin

window(1,1,80,24);

clrscr;n:=true;

writeln(' Пустые разделы: ':40);

writeln(' Номер раздела':20,' Название раздела':40);

for i:=0 to 9 do

begin

P:=Tbl^[i];

while P<>nil do

begin

if (P^.el.ik=0) then

begin

write(i:10);

writeln('| ',P^.el.nn:10,' |',P^.el.st:20,' |');

n:=false;

end;

P:=P^.pnext;

end;

end;

readln;

If n then begin

help_line(' Пустых разделов нет');

write(^G);{Для звукового сопровождения отсутствия пустых разделов}

readkey;

end;

end;

procedure OTabl.read_f;

begin

Assign(f,'tab.dat');

{$I-}

reset(f);

{$I+}

if ioresult<>0 then exit;

while not eof(f) do

begin

read(f,iEl);

new_el_tb(iEl);

end;

close(f);

end;

procedure OTabl.save_f;

Var I:word;

begin

assign(f,'tab.dat');

rewrite(f);

for i:=0 to 9 do

begin

P:=Tbl^[i];

while P<>nil do

begin

write(f,P^.el);

P:=P^.pnext;

end;

end;

close(f);

end;

procedure oTabl.show_tb;

Var I: word;

l: byte;

begin

window(4,6,76,24); clrscr;

write(' Ключ раздела',' Номер ':6);

writeln( ' Название раздела':30);

L:=0;

for i:=0 to 9 do

begin

T:=Tbl^[i];p:=T;

while P<> nil do

begin

write (i:10);

writeln(' |',P^.el.nn:6,' |',P^.el.ik:15,' |',P^.el.st:34,' |');

P:=P^.pnext;

end;

end;

readkey;

window(1,3,80,25);

end;

destructor OTabl.done;

Var I:word;{при выходе уничтожаем все списки}

begin

for i:=0 to 9 do

begin

P:=Tbl^[i];

while P<> nil do

begin

Q:=P;

P:=P^.pnext;

dispose(Q);

end;

Tbl^[i]:=nil;

end;

init_ok:=false;

end;

begin

init_ok:=false;

end.

unit menu1;