![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
QDe5n1K |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 16 Пол: Мужской Репутация: ![]() ![]() ![]() |
Дело вот в чем:
Я создаю список рейсов, заполняю каждый из них пассажирами и инфой о них... Далее я создаю еще один рейс... Вся инфа о пассажирах, введенная ранее пропадает... ![]() Код 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 - 9.12.2004 0:48 |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 20:52 |