|
|
SELECT CASE ( ) | |
| CASE ( ) | ||
| CASE DEFAULT | ||
| END SELECT |
A CASE SELECT function can be implemented with an IF ... ELSEIF... ENDIF construction; however, the former needs a different expression to evaluate at each branch, and is therefore less efficient. Example:
select case (i) case (:0) ; print*, "i<=0" case (1) ; print*, "i=1" case default; print*, "i>=2" end select
program season
implicit none
integer::month
print*,'Give month'
read*,month
select case (month)
case (12,1,2)
print*,'Month ',month,' is in winter'
case(3:5) !this is range from 3 to 5
print*,'Month ',month,' is in spring'
case(6:8)
print*,'Month ',month,' is in summer'
case(9:11)
print*,'Month ',month,' is in fall'
case default
print*,'invalid month: ',month
end select
end program season