Нажмите для просмотра прикрепленного файла
Вот что необходимо реализовать для начала:
1.Создание пустого списка.
2.Вывод на экран содержимого списка в виде таблицы.
3.Вставка элемента в начало, в конец списка (предусмотреть оба варианта).
ВОт что я сделал, но ИМХО вообще не то:
USES CRT;
TYPE
EL=^zap;
zap=record
tabnom:integer; {первое информационное поле, там содержится табельный номер}
familia:string; {второе информационное поле, там содержится фамилия}
Next, Prev: EL;
End;
VAR
First,P,Q,T,E:EL;
Procedure Create_empty_List (Var First: EL);
Begin
First:=NIL;
End;
Procedure Create_new_element (Var P:EL);
Begin
NEW(P);
writeln('Введите табельный номер:');
readln(p^.tabnom);
writeln('Введите фамилию сотрудника:');
readln(p^.familia);
p^.Next:=NIL;
p^.Prev:=NIL;
End;
Procedure ListPrint (P:EL);
Begin
p:=
writeln(p^.tabnom,' : ',p^.familia);
p:=p^.Next;
end;
readkey;
End;
procedure menu;
VAR
F:integer;
ch:char;
begin
repeat
F:=0;
clrscr;
writeln('Работа со списками:');
writeln;
writeln('1 -> Создание пустого списка');
writeln('2 -> Формирование очередного элемента списка');
writeln('3 -> Вывод списка на экран');
writeln('4 ->');
writeln('5 ->');
repeat
ch:=readkey;
IF not(ch in ['1'..'5']) then
begin
writeln('неверная клавиша!');
F:=F+1;
if F=4 then
begin
writeln('программа завершена из-за неправильного ввода данных');
writeln('нажмите любую кнопку для выхода');
readkey;
end
else
if F=3 then
begin
writeln('у вас ещё ', 4-F,' попытка');
writeln('выберите существующий пункт подменю');
end
else
begin
writeln('у вас ещё ', 4-F,' попытки');
writeln('выберите существующий пункт подменю');
end;
end;
until (ch in ['1'..'5']) or (F=4);
case ch of
'1': Create_empty_List(First);
'2': Create_new_element(P);
'3': ListPrint(P);
'4': ;
end;
until (F=4) or (ch='5');
end;
Begin
menu;
End.
Что не так ?
P.s.: в названии темы указан определённый тип списка, с которым тут выполняется работа.