• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Cristiano

n consigo resolver este problema...da.me um erro....alguem m ajuda...n corre...

3 mensagens neste tópico

Program manut_produtos;

type F_produtos=record
     descricao:string[30];
     preco:real;
     quantidade:integer;
end;
var produto:F_produtos;
F:file of F_produtos;
OP:integer;
function FXEXISTE:boolean;
begin
assign(F,'Produtos.DAT');
reset(F);
close(F);
  if ioresult=0 then
FXEXISTE:=true
  else
FXEXISTE:=false
end;
procedure Introduzir;
var numero:integer;
begin
if not FXEXISTE then begin
rewrite(F);
numero:=1
end
else begin
reset (F);
numero:=filesize (F)+1;
seek (F,Numero-1)
end;
with produto do begin
writeln('------------------');
writeln('Numero:' ,numero);
write('Descricao: ');
readln(descricao);
write('Preco: ');
readln(preco);
write('Quantidade: ');
readln(quantidade);
end;
write(F,produto);
close(F);
writeln('-------------------------');
end;

procedure Alterar;

var numero:integer;
begin
if not FXEXISTE then begin
	writeln('Erro: o ficheiro nao existe');
exit
end;
else reset(F);
writeln('----------------------------');
write('Numero: ');
readln(numero);
if numero > filesize (F) then begin
writeln ('Erro: o ficheiro nao existe');
exit
end;
seek(f,numero -1);
with produto do begin
write('Descricao: ');
readln(descricao);
write('Preco: ');
readln(preco);
write('Quantidade; ');
readln(quantidade);
end;

procedure Consultar
var numero:integer;
begin
if not FXEXISTE then begin
	writeln('Erro: o ficheiro nao existe');
exit
end;
else reset(F)
writeln('--------------------------');
write('Numero:');
readln(numero);
if numero>filesize(F) then begin
writeln('Erro: esse produto n existe');
exit
end;
seek(F,numero-1);
read(F,produto);
with produto do begin
if descricao=' ' then
	writeln('registo eliminado');
else begin
	writeln('Descricao:',descricao);
	writeln('Preco:',preco:9:2);
	writeln('Quantidade:',quantidade:3);
end
end;
close(F);
writeln('--------------');
end;

procedure eliminar
var numero:integer;
begin
if not FXEXISTE then begin
writeln('Erro:o ficheiro n existe');
exit
end;
else reset(F);
writeln('--------------------');
write('Numero:');
readln(numero);
if numero>filesize (F) then begin
	writeln('Erro: esse produto nao existe');
	exit
end;
seek(F,numero-1);
with produto do begin
	descricao;=' ';
	preco:=0;
	quantidade:=0;
end;
write (F,produto);
close(F)
writeln('---------------');
end;

procedure listagem
begin
if not FXEXISTE then begin
	writeln('Erro: o ficheiro n existe');
exit
end;
else reset(F);
writeln('-----------------');
while not EOF(F) do begin
read(F,produto);
with produto do
if descricao=' ' then
writeln('Registo eliminado');
else
writeln('Descricao,',',preco:9:2',',quantidade:3);
end;
close(F);
writeln('---------------');
end;
begin
repeat
writeln('menu');
writeln('-------');
writeln('1-Intorudzir novo');
writeln('2-Alterar');
writeln('3-Consultar');
writeln('4-Eliminar');
writeln('5-Listagem');
writeln('0-Terminar');
writeln
write('opcao:');
readln(OP);
case OP of
1:Introduzir
2:Alterar
3:Consultar
4:Eliminar
5:Listagem
end;
until OP=0
end.

da.me este erro...ERROR 113: ERROR in statement

fico a espera d respostas... ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dá-te o erro quando? O programa compila?

Por favor sejam mais específicos... se querem ajuda, ajudem-nos a ajudar!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E em que linha? Tipo, eu não vou estar a ler o código TODO ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora