Fortran95程序设计习题答案第十一章2
Fortran95程序设计习题答案
module time_utility
implicit none
type :: time
integer :: hour,minute,second
end type time
interface operator(+)
module procedure add_time_time
end interface
contains
function add_time_time( a, b )
implicit none
type(time) :: add_time_time
type(time), intent(in) :: a,b
integer :: seconds,minutes,carry
seconds=a%second+b%second
carry=seconds/60
minutes=a%minute+b%minute+carry
carry=minutes/60
add_time_time%second=mod(seconds,60)
add_time_time%minute=mod(minutes,60)
add_time_time%hour=a%hour+b%hour+carry
return
end function add_time_time
subroutine input( a )
implicit none
type(time), intent(out) :: a
write(*,*) " Input hours:"
read (*,*) a%hour
write(*,*) " Input minutes:"
read (*,*) a%minute
write(*,*) " Input seconds:"
read (*,*) a%second
return
end subroutine input
subroutine output( a )


