You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

This example is meant as a helpfull guide to see how Fortran looks in practice. And will show how to use subroutines, precision and simple arithmetic functions in fortran. 


Main
program main
implicit none
	call menu()
end program main

The line 'implicit none' is needed in Fortran to avoid obscure errors when defining variables. In earlier Fortran versions all variables were implicitly given as floats (real) unless the first letter in the name between i and n. 'implicit none' makes sure all variables have to be given-type explicit



Menu
recursive subroutine menu() !'recursive' is needed if the subroutine or function will call itself either directly or implicit
	integer :: choice
	logical :: valid !A boolean to indicate if the input is valid (.TRUE. or .FALSE.)
	print *, '--------------------'
	print *, '-----Calculator-----'
	print *, '--------------------'
	print *, 'Addition 1'
	print *, 'Subtraction 2'
	print *, 'Multiplication 3'
	print *, 'Division 4'
	print *, 'High precision division 5'
	print *, 'Power 6'
	print *, 'Terminate 0'
	valid = .FALSE.	!Make shure the while loop runs atleast once
	do while (.NOT.valid)
		read *, choice
		valid = .TRUE.
		if (choice == 1) then
			call addition()
		else if (choice == 4) then
			call division()
		else if (choice == 5) then
			call hp_division()
		else if (choice == 6) then
			call power()
		else if (choice == 0) then
			print *, 'Program finished'
		else
			print *, 'False input, please enter valid input: '
			valid = .FALSE.
		end if
	end do
end subroutine menu
Page content



  • No labels