-- Store all employees into an array, and print them -- This version has an error with ada.text_io; use ada.text_io; with ada.float_text_io; use ada.float_text_io; procedure emp2a is type Employee is record Name: String(1 .. 20); ID: String(1 .. 6); Salary: Float; end record; type Emp_Array is array(1 .. 10) of Employee; -- Input the employees procedure get_emps(emps: out Emp_Array) is e_tmp: Employee; num_emps: Natural := 0; begin while not end_of_file loop num_emps := num_emps + 1; get(e_tmp.Name); get(e_tmp.ID); get(e_tmp.salary); emps(num_emps) := e_tmp; end loop; end get_emps; -- Print the array procedure put_emps(emps: in Emp_Array) is e_tmp: Employee; begin -- Error: Prints entire array, including non-existent employees -- Need to pass num_emps from get_emps, to main, to put_emps for i in 1 .. emps'last loop e_tmp := emps(i); put(e_tmp.Name); put(e_tmp.ID); put(e_tmp.salary, 7, 2, 0); new_line; end loop; end put_emps; the_emps: Emp_Array; begin get_emps(the_emps); put_emps(the_emps); end emp2a;