1
« en: Sábado 27 de Marzo de 2010, 23:14 »
quisiera saber si me pueden ayudar con mi primer programa manejando archivos...
el compilador me tira 3 errores en las ultimas lineas y no me puedo dar cuenta del mismo. El programa en si... no hace nada importante, es solo un ejercicio de práctica. Muchas gracias de antemano
el programa en cuestion es el siguiente:
PROGRAM telefono;
USES crt;
const
constante=26.5;{pago arancel mensual}
type
reg=record
numero:integer;
pulsos:integer;
end;
tele=file of reg;
reg2=record
numero:integer;
pulsos:integer;
pago:real;
end;
deuda=file of reg2;
function factura(pulsos:integer):real;
var
extra:integer;
begin
if (pulsos>203) then begin
extra:=pulsos-203;
factura:=extra*0.0475;
end;
end;
procedure nuevo(var nuevo2:deuda;arc:tele);
var
r:reg;
rnuevo:reg2;
begin
reset(arc);
reset(nuevo2);
read(nuevo2,rnuevo);
read(arc,r);
while (not EOF(arc)) do begin
rnuevo.numero:=r.numero;
rnuevo.pulsos:=r.pulsos;
rnuevo.pago:=factura(r.pulsos);
write(nuevo2,rnuevo);
end;
close(arc);
close(nuevo2);
end;
procedure imprimir(nuevo:deuda);
var
resp2:char;
resp:integer;
r:reg2;
begin
repeat
begin
writeln('ingrese el numero del telefono del cliente a consultar:');
readln(resp);
reset(nuevo);
read(nuevo,r);
while (not EOF(nuevo)) do begin
if (r.numero=resp) then begin
writeln('numero cliente: ',r.numero);
writeln('pulsos consumidos: ',r.pulsos);
writeln('pago adeudado: ',r.pago);
end;
end;
close(nuevo);
writeln('desea visualizar otro cliente? (s/n)');
readln(resp2);
end
until resp2='n';
end;{procedure}
var
arc:tele;
nuevo2:deuda;
BEGIN
assign(arc,'D:Sintaxis y Semántica del lenguajePrácticas resueltasPráctica 1telecomunicaciones.dat');
assign(nuevo2,'D:Sintaxis y Semántica del lenguajePrácticas resueltasPráctica 1pagos.dat');
nuevo(nuevo2,arc);
imprimir(nuevo2);
end.