Program Kolejka4;
Type Wskaznik_Kolejki=^Element_Kolejki;
Element_Kolejki=Record
Nazwisko:String[30];
Imie:String[30];
Telefon:String[12];
Miasto:String[30];
Wsk:Wskaznik_Kolejki;
End;
Var Kolejka,Start,Biezacy,Nowy:Wskaznik_Kolejki;
z1,z2:text;
i: integer;
procedure wczytaj;
begin
Repeat
New(Nowy);
Write('Podaj nazwisko : ' ) ;
Readln(Nowy^.Nazwisko);
Write('Podaj imie : ' ) ;
Readln(Nowy^.Imie);
Write('Podaj telefon : ' ) ;
Readln(Nowy^.Telefon);
Write('Podaj miasto : ' ) ;
Readln(Nowy^.Miasto);
If Nowy^.Nazwisko <> '' Then
Begin
Nowy^.Wsk:=Nil;
If Kolejka=Nil Then
Begin
Kolejka:=Nowy;
Biezacy:=Nowy;
End
Else
Begin
Biezacy^.Wsk:=Nowy;
Biezacy:=Nowy;
End;
End;
Until Nowy^.Nazwisko='';
end;
procedure zapisz;
begin
assign(z1,'telefon.txt'); {podanie nazwy pliku }
rewrite(z1); {przygotowanie pliku do zapisu }
While Biezacy<>Nil Do
Begin
Writeln(z1,Biezacy^.Nazwisko); {wczytanie danej do pliku}
Writeln(z1,Biezacy^.Imie);
Writeln(z1,Biezacy^.Telefon);
Writeln(z1,Biezacy^.Miasto);
Biezacy:=Biezacy^.Wsk;
End;
close(z1); {zamkniecie pliku}
end;
procedure wypisz;
begin
While Biezacy<>Nil Do
Begin
Writeln('Nazwisko : ',Biezacy^.Nazwisko);
Writeln('Imie : ',Biezacy^.Imie);
Writeln('Telefon : ',Biezacy^.Telefon);
Writeln('Miasto : ',Biezacy^.Miasto);
Biezacy:=Biezacy^.Wsk;
End;
end;
Begin
i:=1;
while i<>0 Do
begin
writeln ('Wybierz operacje');
writeln ('1 - Dopisanie nowych danych');
writeln ('2 - Zapisanie danych do pliku');
writeln ('3 - Wyswietlenie danych na ekranie');
writeln ('0 - Koniec');
readln (i);
case i of
1: begin
Kolejka:=Start;
wczytaj;
Biezacy:=Kolejka;
Start:=Biezacy;
end;
2: begin
zapisz;
Biezacy:=Kolejka;
end;
3: begin
wypisz;
Biezacy:=Kolejka;
end;
end;
end;
End.