Peço ajuda pois não consigo compilar meu codigo,sou novato em pascal.
segue o codigo:
Program Lista2;
{uses wincrt;}
type
elo = ^no;
no=record
cliente: char;
prox: elo;
end;
var op:integer;
prim:elo;
dado:char;
procedure inicializa(var prim:elo);
begin
prim:=Nil;
end;
procedure insere(var prim:elo;cli:char);
{insere no fim da fila-lista}
var p,q:elo;
begin
new(p);
p^.cliente:=cli;
p^.prox:=Nil;
q:=prim;
if q<>Nil then begin
while q^.prox<>Nil do
q:=q^.prox;
q^.prox:=p;
end
else begin
prim:=p;
end;
end;
procedure retira(var prim:elo);
{retira o primeiro}
var p:elo;
begin
if prim<>Nil then begin
p:=prim^.prox;
dispose(prim);
prim:=p;
end
else begin
writeln('A lista ja esta vazia!');
end;
end;
procedure imprime(var prim:elo);
var q:elo;
begin
q:=prim;
if prim<>Nil then begin
writeln('Lista: ');
while q<>Nil do begin
write(q^.cliente);
q:=q^.prox;
end;
end
else begin
writeln('Lista vazia!');
end;
readln;
end;
begin
op:=1;
while op<5 do begin
clrscr;
writeln(' Menu');
writeln('<1> Inicializar');
writeln('<2> Inserir');
writeln('<3> Retirar');
writeln('<4> Imprimir');
writeln('<5> Sair');
writeln('Opcao< >');
gotoxy(7,7);
readln(op);
if op=1 then begin
inicializa(prim);
writeln('Lista inicializada!');
readln;
end;
if op=2 then begin
writeln('Digite o dado a ser inserido:');
readln(dado);
insere(prim,dado);
end;
if op=3 then begin
retira(prim);
writeln('Retirado o primeiro elemento');
readln;
end;
if op=4 then begin
imprime(prim);
end;
end;
end.
Agora o erro:
=>erro semantico na linha linha 6....
=>o indentificador 'NO' não foi declarado dentro do escopo para a função PROGRAM!
obs:Estou usando o PASCALzim.