with ada.text_io; use ada.text_io; 
with ada.float_text_io; use ada.float_text_io; 
 
procedure rec3  is 
    namesize: constant := 20;
    idsize: constant := 6;
    maxnumemp: constant := 100;

    type emprecord is record
        name: string(1 .. namesize);
        id: string(1 .. idsize);
        salary: float;
    end record;

    type emparray is array(1 .. maxnumemp) of emprecord; 

    procedure get_emps
        (some_emps: out emparray; count: out natural) is

        e: emprecord;
    begin
        count := 0;
        skip_line;
        while not end_of_file loop
            count := count + 1;
            get(e.name);
            get(e.id);
            get(e.salary);
            -- get(the_emps(count).salary);

            some_emps(count) := e;
        end loop;
    end get_emps;

    procedure put_emps(the_emps: emparray; c: natural) is 
        e: emprecord;
    begin
        for i in reverse 1 .. c loop
            e := the_emps(i);
            if e.salary > 100_000.00 then
                put(e.name & " ");
                put(e.id & " ");
                put(e.salary, fore=>7, aft=>2, exp=>0);
                new_line;
            end if;
        end loop;
    end put_emps;

    count: integer;

    the_emps: emparray;
begin

    get_emps(the_emps, count);
    put_emps(the_emps, count);

end rec3;