program temperature_conversion implicit none real :: celsius, fahrenheit character(len=1) :: scale integer :: low_temp, high_temp, temperature, step read_loop: do write (*,*) ' ** Give scale (C or F), lowest and highest temperature and print interval. ' read (*,*) scale, low_temp, high_temp, step if (step == 0) step = 5 print_loop: do temperature = low_temp, high_temp, step select case (scale) case ('C') celsius = temperature fahrenheit = 9.0/5.0*celsius + 32.0 write (*,*) celsius, ' degrees C corresponds to ', fahrenheit, ' degrees F' case('F') fahrenheit = temperature celsius = 5.0/9.0*(fahrenheit-32.0) write (*,*) fahrenheit, ' degrees F corresponds to ', celsius, ' degrees C' case default exit read_loop end select end do print_loop end do read_loop end program temperature_conversion