sábado, 4 de junho de 2011

Exercicio 3 de Heterogenea

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.