Figure 24.

FORTRAN_Mentality_Solution.

---------------------------------------------------- -- This is the wrong way to solve the problem. with SCROLL_TERMINAL; with FORM_TERMINAL; use FORM_TERMINAL; procedure FORTRAN_Mentality_Solution is NAME : string(1..30); ADDRESS : string(1..40); CITY_STATE_ZIP : string(1..40); DOESNT_MATTER : boolean; HELP_REQUEST : integer; CURSOR_POSITION : Field_names; begin Read("ADDRESS.DAT"); CURSOR_POSITION := "Name field "; << ASK_NAME_AND_ADDRESS >> Update(CURSOR_AT => CURSOR_POSITION, NEXT => DOESNT_MATTER, STATUS => HELP_REQUEST); if HELP_REQUEST = 0 then null; -- no help needed elsif HELP_REQUEST = 1 then SCROLL_TERMINAL.new_line(10); SCROLL_TERMINAL.put_line ("Don't you even know your own name?"); SCROLL_TERMINAL.Wait_For_User; CURSOR_POSITION := "Name field "; goto ASK_NAME_AND_ADDRESS; elsif HELP_REQUEST = 2 then SCROLL_TERMINAL.new_line(10); SCROLL_TERMINAL.put_line ("What is you street or P.O. Box?"); SCROLL_TERMINAL.Wait_For_User; CURSOR_POSITION := "Address field "; goto ASK_NAME_AND_ADDRESS; elsif HELP_REQUEST = 3 then SCROLL_TERMINAL.new_line(10); SCROLL_TERMINAL.put_line ("Where do you live?"); SCROLL_TERMINAL.Wait_For_User; CURSOR_POSITION := "City field "; goto ASK_NAME_AND_ADDRESS; end if; get("Name field ", NAME); get("Address field ", ADDRESS); get("City field ", CITY_STATE_ZIP); SCROLL_TERMINAL.new_line(10); SCROLL_TERMINAL.put_line("NAME = " & NAME); SCROLL_TERMINAL.put_line("ADDRESS = " & ADDRESS); SCROLL_TERMINAL.put_line("CITY = " & CITY_STATE_ZIP); end FORTRAN_Mentality_Solution;