Program Fndemo ! written on aug 23, 2000 by siva@cse.iitb.ernet.in ! to demo use and usefulness of functions Implicit none Integer :: I, J, K ! we want the user to type in 3 values. ! one between 1-100, one 501-600 and one 801-900 ! functions is a nice way to avoid repetitive code and mistakes. I = Getnum(1, 100, 'Enter Temperature: ') J = Getnum(501, 600, 'Enter Pressure: ') K = Getnum(801, 900, 'Enter Volume: ') Write (*,*) 'Temperature = ', I, & ' Pressure = ', J, & ' Volume = ', K contains Integer Function Getnum(low, high, msg) Implicit none Integer, Intent(in) :: low, high Character(Len=20), Intent(in) :: msg Integer :: ans Do Write (*,*) msg, '(Between ', low, ' and ', high, ')' Read (*,*) ans If ((low <= ans) .and. (ans <= high)) Exit Write (*,*) 'You did not type a valid input. Please try again.' End Do Getnum = ans End Function Getnum End Program Fndemo