niepok

stos

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