program ComplessiEserRic;
type
TipoFileComplessi = file of Complex;
var
zIn, zApp : Complex;
a, b : real;
filegen : TipoFileComplessi;
op : char;
i, quanti : integer;
procedure SommaRic (var c: Complex; var f: TipoFileComplessi);
var
caux : Complex;
begin
if not eof(f) then
begin
read(f, caux);
SommaC(c, caux, c);
SommaRic(c, f);
end;
end;
begin
repeat
writeln('che vuoi fare? [A/B/F]');
writeln(' A: scrivere su COMPL.DAT numeri complessi letti in input');
writeln(' B: stampare la somma dei numeri complessi letti da COMPL.DAT');
writeln(' F: per terminare');
readln(op);
case op of
'a', 'A' :
begin
assign(filegen, 'COMPL.DAT');
rewrite(filegen);
write('quanti complessi vuoi inserire in COMPL.DAT? ');
readln(quanti);
for i := 1 to quanti do
begin
ReadComplex(zIn);
write(filegen, zIn)
end;
close(filegen)
end;
'b', 'B' :
begin
assign(filegen, 'COMPL.DAT');
reset(filegen);
AssegnaC(0, 0, zApp);
SommaRic(zApp, filegen);
close(filegen);
WriteComplex(zApp)
end;
'f', 'F' : writeln('FINE');
else
writeln(' SCELTA SCORRETTA ');
end;
until (op = 'F') or (op = 'f')
end.