Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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. 


Code Block
titleMain
linenumberstrue
program main
implicit none
	call menu()
end program main

Code Block
titleMenu
linenumberstrue
collapsetrue

recursive

subroutine

menu()

integer :: choice integer :: valid = 0 print *,

!'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

= 0 do while (valid == 0) read *, choice valid = 1 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, try again' valid = 0 end if end do end subroutine

= .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


Panel
borderColor#dfe1e5
bgColor#eff9ff
borderWidth2
titlePage content

Table of Contents




BibTeX Display Table