IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Двумерный список, Проблема обнуления инфы второго списка
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 16
Пол: Мужской

Репутация: -  0  +


Дело вот в чем:
Я создаю список рейсов, заполняю каждый из них пассажирами и инфой о них... Далее я создаю еще один рейс... Вся инфа о пассажирах, введенная ранее пропадает... sad.gif
Код

type
    Ppass=^reis;
    reis=record
    name,prizn,punkt:string;
    next:ppass;
    end;

    Preis=^allreis;
    allreis=record
    number:ppass;
    name:string[10];
    next:preis;
    end;

.........................
procedure add_reis(var pr:preis);
var number:string;
pp,last,nach:preis;

begin
clrscr;
writeln('Na danniy moment sushestvuyut reisi:');
printallreis(pr);
readln;
repeat
clrscr;
gotoxy(1,1); writeln('Vvedite nomer novogo reisa:');
readln(number);
if (number<>'') then
 begin
new(pp);
pp^.name:=number;
pp^.next := nil;
if pr = nil then pr := pp else last^.next := pp;
last := pp;
end;
until number='';
clrscr;
writeln('Na danniy moment sushestvuyut reisi:');
nach:=pr;
printallreis(pr);
while assigned(pr) do
begin
pr^.number^.next:=nil;
pr:=pr^.next;
end;
pr:=nach;
end;



procedure add_pass(var pr:preis; var test:boolean);
label repet,end1,repet2;
var ppas,pp,nachpass:ppass;
   number,s:string;
   b:boolean;
   i,n:integer;
   nachreis:preis;
begin
repet:
nachreis:=pr;
printallreis(pr);
searchreis(pr,b);                         {эта процедура возвращает уже нажный мне рейс, тот, куда я буду заносить пассажирова}
if not b then
begin
repeat;
warning;
writeln('Takogo reisa net. y - povtorit, n - vihod');
if readkey='y' then begin goto repet; pr:=nachreis; end
              else if readkey='n' then begin textcolor(white); goto end1; end;
until readkey=#1;
end;
begin
pp:=pr^.number;
while pp^.next<> nil do pp:=pp^.next;
new(ppas);
repeat
write('Name: ');
readln(ppas^.name);
until ppas^.name<>'';
repeat
write('Info: ');
readln(ppas^.prizn);
until ppas^.prizn<>'';
repeat
write('Fly to: ');
readln(ppas^.punkt);
until ppas^.punkt<>'';
ppas^.next:=nil;
pp^.next:=ppas;
pp:=pr^.number^.next;
end;
nachpass:=pr^.number^.next;
printpass(pr^.number^.next);
pr^.number^.next:=nachpass;
test:=true;
end1:
pr:=nachreis;
end;


Сообщение отредактировано: QDe5n1K -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 8.09.2025 17:53
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name