모듈(module)을 이용한 온도 변환

모듈 작성

MODULE Temp_Lib

IMPLICIT NONE

CONTAINS

FUNCTION Fahr_to_Celsius(Temp)

REAL :: Fahr_to_Celsius
REAL, INTENT(IN) :: Temp

Fahr_to_Celsius = (Temp - 32.0) / 1.8

END FUNCTION

FUNCTION Celsius_to_Fahr(Temp)

REAL :: Celsius_to_Fahr
REAL, INTENT(IN) :: Temp

Celsius_to_Fahr = 1.8 * Temp + 32.0

END FUNCTION Celsius_to_Fahr

END MODULE Temp_Lib

위 소소를 06_05_Temp_Lib.f95로 저장

모듈을 사용하는 주 프로그램 작성

PROGRAM Temp_Conv

USE Temp_Lib

IMPLICIT NONE

REAL :: FahrenheitTemp, CelsiusTemp

PRINT *, "화씨온도를 입력하시오(ex:100)"
READ *, FahrenheitTemp

CelsiusTemp = Fahr_to_Celsius(FahrenheitTemp)

PRINT *,"화씨온도 ", FahrenheitTemp, " = 섭씨온도 ", CelsiusTemp

END PROGRAM Temp_Conv


위 소스를 06_06_Temp_Conv.f95로 저장

컴파일 및 프로그램 테스트



컴파일 결과 temp_lib.mod가 자동적으로 생성되었다.



+ Recent posts