Скачиваний:
284
Добавлен:
04.03.2014
Размер:
3.61 Кб
Скачать
Unit Worked;
Interface
Uses crt;
Type
spis=^avto;
avto=record
mark:string;
coast:real;
next:spis;
end;
var
rab,g,k:spis;
i,j:integer;
ident2,ident,marka:string;
ident3,coast:real;
c:char;
Procedure Make_Spisok(marka:string;coast:real; var g:spis);
Procedure Printer(g:spis);
Procedure Delete_I(ident2:string; var g:spis);
Procedure Delete_II(ident3:real; var g:spis);
Procedure M_Window(StartX,StartY,FinishX,FinishY,ATR:Byte);
Procedure Ramka(X1,Y1,X2,Y2:integer);
Procedure GoodBye;
{-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-}
{*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*}
Implementation
Procedure Make_spisok;
begin
new(rab);
rab^.mark:=marka;
rab^.coast:=coast;
rab^.next:=g;
g:=rab;
end;
{*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*}
Procedure Printer;
begin
rab:=g;
writeln('‘ЇЁб®Є:');
while rab<>nil do begin
marka:=rab^.mark;
coast:=rab^.coast;
rab:=rab^.next;
writeln(marka);
writeln(coast:5:1);
writeln;
end;
end;
{*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*}
Procedure Delete_I;
begin
rab:=g;
while rab<>nil do begin
if (rab=g)and(rab^.mark=ident2)
then
begin
rab:=rab^.next;
g:=rab;
end
else
if rab^.next^.mark=ident2
then
rab^.next:=rab^.next^.next
else rab:=rab^.next;
end;
end;
{*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*}
Procedure Delete_II;
begin
rab:=g;
while rab<>nil do begin
if (rab=g)and(rab^.coast=ident3)
then
begin
rab:=rab^.next;
g:=rab;
end
else
if rab^.next^.coast=ident3
then
rab^.next:=rab^.next^.next
else rab:=rab^.next;
end;
end;
{*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*}
Procedure M_Window;
begin
Window(StartX,StartY,FinishX,FinishY);
TextAttr:=ATR;
ClrScr;
end;
{*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*}
Procedure Ramka;
CONST
LU=#201; RU=#187;
LD=#200; RD=#188;
HH=#205; V=#186;
var
k:integer;
begin
clrscr;
write(lu);
for k:=x1+1 to x2-1 do write(hh);
write(ru);
for k:=y1+1 to y2-1 do
begin
gotoxy(1,k-y1+1);
write(v);
gotoxy(x2-x1+1,whereY);
write(v);
end;
write(ld);
window(x1,y1,x2,y2+1);
gotoxy(2,y2-y1+1);
for k:=x1+1 to x2-1 do write(hh);
write(rd);
window(x1+1,y1+1,x2-1,y2-1);
end;
{*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*}
Procedure GoodBye;
begin
M_Window(35,10,45,13,$42);
Ramka(35,10,45,13);
Write('GoodBye !');
delay(500);
end;
{*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*}
end.

Соседние файлы в папке Динамической памяти и указатели