[問題] 副程式問題
最近在學習寫副程式遇到問題
麻煩各位幫忙檢查,謝謝
原始碼如下:
subroutine forcem(press,th1,th2,nn,n)
implicit real*8 (a-h, o-z)
dimension th1(3),th2(3),n(7)
include "C:\MSC.Software\Marc\2013.1.0\marc2013.1\common\creeps"
b=1.0d0
v=sqrt(2.0d0)
distan=v*(cptim+timinc)
xc=0.5d0*sqrt(2.0d0)*distan
yc=0.5d0*sqrt(2.0d0)*distan
xmin=xc-b/2.0d0
xmax=xc+b/2.0d0
ymin=yc-b/2.0d0
ymax=yc+b/2.0d0
press=0.0d0
if(th1(1).le.xmax.and.th1(1).ge.xmin.and.
th1(2).le.ymax.and.th1(2).ge.ymin)
^
出問題的地方
press=2.0d0
th2(1)=0.0d0
th2(2)=0.0d0
th2(3)=-1.0d0
return
end
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.5.18
※ 文章網址: http://www.ptt.cc/bbs/Fortran/M.1400148765.A.704.html
推
05/15 19:03, , 1F
05/15 19:03, 1F
→
05/20 15:02, , 2F
05/20 15:02, 2F
→
05/21 00:16, , 3F
05/21 00:16, 3F
→
05/21 00:17, , 4F
05/21 00:17, 4F
修改如下:
subroutine forcem(press,th1,th2,nn,n)
implicit real*8 (a-h, o-z)
dimension th1(3),th2(3),n(7)
include "C:\MSC.Software\Marc\2013.1.0\marc2013.1\common\creeps"
b=1.0d0
v=sqrt(2.0d0)
distan=v*(cptim+timinc)
xc=0.5d0*sqrt(2.0d0)*distan
yc=0.5d0*sqrt(2.0d0)*distan
xmin=xc-b/2.0d0
xmax=xc+b/2.0d0
ymin=yc-b/2.0d0
ymax=yc+b/2.0d0
press=0.0d0
if(th1(1).le.xmax.and.th1(1).ge.xmin.and.th1(2).
le.ymax.and.th1(2).ge.ymin) then (這行是一串打完)
^
錯誤點是標在這裡
press=2.0d0
th2(1)=0.0d0
th2(2)=0.0d0
th2(3)=-1.0d0
end if
return
end
完整錯誤訊息:
if(th1(1).le.xmax.and.th1(1).ge.xmin.and.th1(2).le.ymax.and.th1(2
------------------------------------------------------------------------^
D:\marc_ex\0001\0001.f(23): error #6317: An ENDIF occurred without a
corresponding IF THEN or ELSE statement.
end if
-------^
compilation aborted for D:\marc_ex\0001\0001.f (code 1)
compile failed for C:\Users\Q66\0001.f
Marc 2013.1.0 Exit number 3
以上,再麻煩各位高手
※ 編輯: MiyaKami (60.248.5.18), 05/22/2014 10:41:43
→
05/22 11:59, , 5F
05/22 11:59, 5F
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章