Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  ssad
Language: PASCAL
Code:
program dada; 
TYPE
ElemPointer = ^Elem; 
Elem = record
nume: string[20]; 
adresa: string[30]; 
tel: integer; 
leg: ElemPointer
end; 
VAR
h: ElemPointer; 
PROCEDURE creare_lista; 
VAR
p: ElemPointer; 
ch: char; 
BEGIN
h: =nil; 
repeat
write ('Introduceţi valori (D/N) ?: '); readln (ch); 
if ch = 'N' then exit; 
if ch = 'D' then
begin
if h = nil then
begin
new(h); 
p: =h
end
else
begin
new(p^. leg); 
p: =p^. leg
end; 
with p^ do
begin
write ('Numele: '); readln(nume); 
write ('Adresa: '); readln(adresa); 
write ('Telefon: '); readln(tel); 
writeln
end; 
p^. leg: =nil
end
until false
END; 
PROCEDURE citire_lista; 
VAR
p: ElemPointer; 
BEGIN
p: =h; 
while pnil do
begin
with p^ do
begin
writeln('Numele: ', nume); 
writeln('Adresa: ', adresa); 
writeln('Telefon: ', tel); 
end; 
writeln; 
p: =p^. leg
end
END; 
PROCEDURE salvare(p: ElemPointer); 
Var f: text; 
BEGIN
assign(f, 'date. dat'); 
rewrite(f); 
repeat
with p^ do
begin
writeln(f, nume); 
writeln(f, adresa); 
writeln(f, tel); 
writeln(f); 
end; 
p: =p^. leg
until p=nil; 
writeln(f, '!'); 
close(f); 
writeln('OK')
END; 
BEGIN
creare_lista; 
citire_lista; 
salvare(h); 
readln
END.
Comments: