----------------------------------- Thuged_Out_G Fri Nov 21, 2003 3:12 am Suggestions? ----------------------------------- i have to make this program for compsci class, ive finished it...i was just wondering if someone could read the program, and give me ideas to help me improve things, or make the code more effecient. fcn annuity (balance, interest, terms : real) : real result balance * (1 + interest) ** terms end annuity fcn futureValue (balance1, interest1, terms1 : real) : real result balance1 * ((1 + interest1) ** terms1 - 1) div interest1 end futureValue var win := Window.Open ("position:top,center,notoolbar,graphics:300;400,") var balance, balance1, interest, interest1, terms, terms1, num : real var answer : string loop put " - You can calculate -" put " - Annuities(1) -" put " - Future Value(2) -" put " - Both(1.2) -" put " - or -" put " - Exit(0) -" put " - Selection: -" .. get num cls loop if num = 0 then loop Window.Close (win) end loop end if if num = 1 then put "Calculating Annuities" put skip put "Please enter in the balance: ".. get balance cls put "Please enter in the interest rate(as a decimal): " .. get interest cls put "Please enter in the number of terms: " .. get terms cls put "The value is: ", annuity (balance, interest, terms) end if if num = 2 then put "Please enter in the balance: " get balance1 cls put "Please enter in the interest rate(as a decimal): " .. get interest1 cls put "Please enter in the number of terms: " .. get terms1 cls put "The value is: ", futureValue (balance1, interest1, terms1) end if if num = 1.2 then put "Calculating Annuities" put skip put "Please enter in the balance: " get balance cls put "Please enter in the interest rate(as a decimal): " .. get interest cls put "Please enter in the number of terms: " .. get terms cls put "The value is: ", annuity (balance, interest, terms) end if put skip put "Do future value now?(y/n): " .. get answer cls if answer = "y" then put "Calculating Future Value" put skip put "Please enter in the balance: " get balance1 cls put "Please enter in the interest rate(as a decimal): " .. get interest1 cls put "Please enter in the number of terms: " .. get terms1 cls put "The value is: ", futureValue (balance1, interest1, terms1) else exit end if end loop end loop btw, the formulas may not be correct, but i can fix those later...i jsut tried to play it from memory of personal finance lol...i hate that course :lol: ----------------------------------- AsianSensation Fri Nov 21, 2003 5:18 pm ----------------------------------- from a cursory glance, I can't see why you have balance and balance1 and etc. They are just variables, you can reuse them over and over, don't have to use different variables unless they are going to be doing different things also, make the getting the variable part a procedure, that would shorten your code by alot. like this: proc GetVar put "Please enter in the balance: " get balance cls put "Please enter in the interest rate(as a decimal): " .. get interest cls put "Please enter in the number of terms: " .. get terms cls end GetVar so instead of typing that over and over again, you can just use the procedure GetVar