Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  kolejkaa
Language: PASCAL
Code:
program Projektkolejka;

type
Liczba = string[100];

wskaznik = ^element;
element = record
Dane : Liczba;
Nast : wskaznik;
end;
TKolejka = wskaznik;



procedure Inicjalizuj(var kol : TKolejka);
begin
kol := nil;
end;


procedure Dopisz(var kol : TKolejka; L : Liczba);
var w: wskaznik;
begin
w := kol;
New(kol);
kol^.Dane:=L;
kol^.Nast := w;

end;


procedure Usun(var kol : TKolejka);
var w : wskaznik;
begin
if kol <> nil then
begin
w := kol;
kol := kol^.Nast;
Dispose(w);
end;
end;

procedure Wypisz(kol : TKolejka);
var w : wskaznik;
  begin
w := kol;
while w <> nil do
begin
writeln(w^.Dane);
w := w^.Nast;
end;
end;


procedure Wyczysc(var kol : TKolejka);
var w : wskaznik;
begin
while kol <> nil do
begin
w := kol;
kol := kol^.Nast;
Dispose(w);
end;
end;


var kolejka : TKolejka;
  znak:char;
  zespolona:Liczba;

BEGIN
Inicjalizuj(kolejka);
repeat
      Writeln('     Wybierz odpowiednia funkcje ');
      Writeln('             D - dodanie do kolejki liczby zespolonej(np. 5+j3)');
      Writeln('             U - usuniecie z kolejki ');
      Writeln('             W - wyswietlenie calej kolejki ');
      Writeln('             C - usuniecie calej kolejki ');
      Writeln('             K - zakonczenie programu  ');
      Writeln(' ');
      readln(znak);
      case upcase(znak) of
           'D': begin readln(zespolona); Dopisz(kolejka,zespolona); end;
           'U': Usun(kolejka);
           'W': Wypisz(kolejka);
           'C': Wyczysc(kolejka);
           end;
      until upcase(znak)='K';
END.
Comments: