Advertisement
niepok

kolejka

Jan 25th, 2015
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.28 KB | None | 0 0
  1. program kolejeczka;
  2. uses crt;
  3. const
  4.   max=10;
  5. type KolejkaPtr=^Kolejka;
  6.      Kolejka=record
  7.        next : KolejkaPtr;
  8.        zadanie : string;
  9.        duedate : string;
  10.      end;
  11. var
  12.   head : KolejkaPtr;
  13.   tail : KolejkaPtr;
  14.   nowy : KolejkaPtr;
  15. procedure Dodaj;
  16.           begin
  17.                clrscr;
  18.                New(nowy);
  19.                Writeln('Co musisz zrobic?: ');
  20.                readln(nowy^.zadanie);
  21.                Writeln('Do kiedy? : ');
  22.                readln(nowy^.duedate);
  23.                if(head=NIL) then begin
  24.                                head:=nowy;
  25.                                tail:=nowy;
  26.                                end
  27.                else begin
  28.                     tail^.next:=nowy;
  29.                     nowy^.next:=NIL;
  30.                     tail:=nowy;
  31.                     end;
  32.           end;
  33. procedure Wyswietl;
  34.           var
  35.             tmp : KolejkaPtr;
  36.             i : integer=1;
  37.           begin
  38.                clrscr;
  39.                tmp:=head;
  40.                writeln('Lista rzeczy do zrobienia');
  41.                while tmp<>NIL do
  42.                      begin
  43.                           writeln(i,' ',tmp^.zadanie,' do ',tmp^.duedate);
  44.                           tmp:=tmp^.next;
  45.                           i+=1;
  46.                      end;
  47.           end;
  48. procedure Usun;
  49.           var
  50.             tmp : KolejkaPtr;
  51.           begin
  52.                clrscr;
  53.                tmp:=head;
  54.                head:=tmp^.next;
  55.                Dispose(tmp);
  56.                writeln('Wierzch zdjęty!');
  57.           end;
  58. function menu:char;
  59.          begin
  60.               clrscr;
  61.               writeln('[1] - Dodaj zadanie');
  62.               writeln('[2] - Usun zadanie');
  63.               writeln('[3] - Wyswietl liste zadan');
  64.               writeln('[Esc] - Wyjscie z programu');
  65.               menu := readkey;
  66.          end;
  67. begin
  68.      head:=NIL;
  69.      tail:=NIL;
  70.      repeat
  71.            begin
  72.                 clrscr;
  73.                 case menu of
  74.                      '1':Dodaj;
  75.                      '2':Usun;
  76.                      '3':Wyswietl;
  77.                      #27:halt;
  78.                 end;
  79.                 writeln;
  80.                 writeln('Aby wrocic do menu nacisnij [ENTER]');
  81.                 readln;
  82.            end;
  83.      until FALSE;
  84.      end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement