Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2012, 18:25   #1
misery24-7
Пользователь
 
Регистрация: 01.04.2012
Сообщений: 23
По умолчанию Указатели.Добавление элемента в очередь.

Имеется процедура добавления элемента в очередь(в конец списка),но в ней нельзя ввести этот элемент с клавиатуры.Вопрос,как сделать ввод с клавиатуры нового элемента,и в какую переменную его обозначить в этой процедуре?Поясняю:процедура на поиск есть,а вот ввести слово,которое она будет искать не дано.как это сделать?
Код прилагаю:

Код:
procedure AddList(n:tdata;var head,tail:ukazatel);
   var p:ukazatel;
begin
     writeln('Vvedite noviy element');
     New(p);
     p^.data:=n;
     p^.next:=nil;
     if tail=nil then
     begin
          tail:=p;
          head:=p;
     end
     else
     begin
          tail^.next:=p;
          tail:=p;
     end;
end;


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 16.06.2012 в 19:05.
misery24-7 вне форума Ответить с цитированием
Старый 16.06.2012, 19:07   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

приведите описание типа tdata.

я бы предложил так:
Код:
procedure AddList(var head,tail:ukazatel);
var p:ukazatel;
  n:tdata;
begin
     writeln('Vvedite noviy element');
     Readln(n);
     New(p);
     p^.data:=n;
     p^.next:=nil;
....
но боюсь, что Паскаль откажется читать переменную N...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.06.2012, 19:14   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но в ней нельзя ввести этот элемент с клавиатуры.
А оно туточки и не нужно.
Где ты вызываешь эту функцию - там и вводи.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.06.2012, 19:27   #4
misery24-7
Пользователь
 
Регистрация: 01.04.2012
Сообщений: 23
По умолчанию

Serge_Bliznykov,да,именно так и будет
Stilet,не совсем понимаю.
у меня есть текстовый файл,из которого программа считывает поля с инфой и записывает в переменные.А потом идет процедура AddList и ничего ввести своего не получается,там нужно отдельно же выделать переменную для ввода
misery24-7 вне форума Ответить с цитированием
Старый 16.06.2012, 19:40   #5
misery24-7
Пользователь
 
Регистрация: 01.04.2012
Сообщений: 23
По умолчанию

вот код,куда там вводить то? :D
Код:
program demo;
uses crt,example;
var
   f:text;
   st:string;
   code:integer;
   k:byte;
   n:tdata;
   nomer:integer;
begin
     assign(f,'t8.txt');
     reset(f);
     InitList;
     while not Eof(f) do
     begin
          readln(f,st);
          n.name:=copy(st,1,pos('*',st)-1);
          n.strana:=copy(st,pos('*',st)+1,6);
          val(copy(st,pos('#',st)+1,4),n.age,code);
     AddList(n,head,tail);
     end;
     clrscr;
     repeat
     writeln('Viberite punkt menu:');
     writeln('1-Prosmotr spiska');
     writeln('2-Dobavlenie elementa v spisok');
     writeln('3-Poisk elementa po kluchevomu znacheniu');
     writeln('4-Vihod iz programmi');
     readln(k);
     case k of
     1:LookList(head,tail);
     2:AddList(n,head,tail);
     3:writeln('Poisk');
     4:writeln('Vihodim..');
     else
         writeln('Nedopustimaya operaciya');
     end;
     until k=4;
     repeat until keypressed;
end.
misery24-7 вне форума Ответить с цитированием
Старый 16.06.2012, 20:15   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
          readln(n.name);
          readln(n.strana);
          readln(n.age);
     AddList(n,head,tail);
Теперь понятно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.06.2012, 20:25   #7
misery24-7
Пользователь
 
Регистрация: 01.04.2012
Сообщений: 23
По умолчанию

Stilet,получилось,огромное вам спасибо,не знаю сколько бы еще сидел без вас :DDD
misery24-7 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление элемента в массив Combo Помощь студентам 0 02.12.2011 22:30
добавление элемента в массив 3dg_fan Общие вопросы по Java, Java SE, Kotlin 2 14.11.2011 17:12
указатели(очередь) qwerty1993 Помощь студентам 3 15.09.2011 08:31
Turbo Pascal Добавление в очередь deimond Помощь студентам 3 22.05.2011 22:41
добавление элемента в ComboBox Tapapax Общие вопросы .NET 2 09.11.2009 22:48