Program Pzim ;
{Faça um algoritmo que, inicialmente, cadastre 5
clientes e depois 5 contas, cada conta de um
cliente. No final, imprima o saldo mais alto e o
cliente desta conta.}
type
r_cliente = record
codigo:integer;
nome:string;
cpf:string;
end;
r_conta = record
codconta:integer;
codcliente:integer;
saldo:real;
end;
{nesse caso são dois registros, é necessário somente um type}
var
v_cliente:array[1..5] of r_cliente;
v_conta:array[1..5] of r_conta;
i, ref: integer;
salmaior:real;
Begin
writeln('C A D A S T R O D E C L I E N T E S');
for i:=1 to 5 do
begin
writeln('Digite o código do cliente : ');
read(v_cliente[i].codigo);
writeln('Digite o nome do cliente: ');
read(v_cliente[i].nome);
writeln('Digite o CPF : ');
read(v_cliente[i].cpf);
end;
clrscr; // limpa a tela
{aqui é feito o cadastro das contas}
writeln('C A D A S T R O D E C O N T A S');
for i:=1 to 5 do
begin
writeln('Digite o código da conta: ');
read(v_conta[i].codconta);
writeln('Digite o código do cliente: ');
read(v_conta[i].codcliente);
writeln('Digite o saldo da conta : ');
read(v_conta[i].saldo);
end;
clrscr; // limpa a tela
{aqui é feito o cadastro da conta}
for i:=1 to 5 do
begin
if (salmaior<v_conta[i].saldo) then
begin
salmaior:=v_conta[i].saldo;
ref:=i;
end;
end;
{verifica qual a conta tem saldo maior, e ref, serve para saber em qual posição [i] está essa conta}
write('A conta do cliente ',v_cliente[ref].nome, ' é a de maior saldo, com R$ ',v_conta[ref].saldo:1:2);
{aqui usamos o ref, no lugar do i}
End.