PROGRAM RETIRE(INPUT,OUTPUT); { IRA Bank calculations DAVE HUNTOON 5/19/85} VAR INITIAL,RATE,YEARLY,FINAL,AMOUNT,SEMI :REAL; YEARS,COUNTER :integer; Again1 :boolean; Chr1 :Char; PROCEDURE CALC; BEGIN counter :=1; CLRSCR; GotoXY(31,9); WRITELN('IRA CALCULATOR'); GotoXY(31,10); WRITELN(' by Dave Huntoon 2/86'); WRITELN;WRITELN;WRITELN; WRITE('Enter INITIAL investment ==>> '); Readln(initial); Write('Enter interest rate "10%" ==>> '); ReadLn(rate); Rate :=(Rate/100)+1; Write('Enter Yearly investment amount ==>> '); ReadLn(Yearly); Write('Enter # years until retirement ==>> '); Readln(Years); Amount := initial *EXP(LN(rate)*YEARS); While Counter <= Years DO Begin semi :=EXP(LN(Rate)* COUNTER) * yearly; amount :=Amount+semi; Counter :=Counter+1; End; WriteLn('Amount saved ==>> $',Amount:1:2); WriteLn;WriteLn; END; PROCEDURE AGAIN; BEGIN Write('Again ?? (Y/N) ==>> '); Read(Chr1); If Chr1 >= 'a' {convert to upper case} Then Chr1 := Chr(Ord(Chr1)-32); If Chr1 ='Y' then Again1 := True else Again1 := False; end; Begin Again1 :=True; While Again1 DO Begin CALC; AGAIN; end; END.