24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1683  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

vivianich

新虫 (初入文坛)

[求助] 急求fortran运行错误原因,在线等

最近改了一个fortran77的程序,编译都通过了,就是运行的时候出现错误如下:
forrtl: severe (24): end-of-file during read, unit 1,。。。
生成的文件fort1.1,打开只有OUTPUT LU=?这一句
我觉得这说明程序一开始运行就出错了,但不知道错在哪里,请高手指点
部分源程序如下:
      PROGRAM FTURB
      INTEGER*4 N1M,N2M,N3M
      DIMENSION LABL(10)
      COMPLEX X(512),Y(512)
      COMMON N1M,N2M,N3M,INPUT,ICART
       
      INPUT=1
      ICART=34
      ROOT2=SQRT(2.)
      WRITE(INPUT,9999)
9999  FORMAT(11HOUTPUT LU=?)
      READ(INPUT,9998) LUOUT
9998  FORMAT(I4)
      WRITE(INPUT,9997)
9997  FORMAT(7HN1MAX=?)
      READ(INPUT,9998) N1MAX
      WRITE(INPUT,9996)
9996  FORMAT(7HN2MAX=?)
      READ(INPUT,9998) N2MAX
      WRITE(INPUT,9995)
9995  FORMAT(7HN3MAX=?)
      READ(INPUT,9998) N3MAX
      WRITE(INPUT,9994)
9994  FORMAT(5HFS1=?)
      READ(INPUT,9993) FS1
9993  FORMAT(F10.0)
      WRITE(INPUT,9992)
9992  FORMAT(5HFS2=?)
      READ(INPUT,9993) FS2
      WRITE(INPUT,9991)
9991  FORMAT(5HFS3=?)
      READ(INPUT,9993) FS3
      WRITE(INPUT,9986)
9986  FORMAT(38H ENTER VELOCITY COMPONENT (1, 2, OR 3))
      READ(1,9985) II
9985  FORMAT(I1)
      N1M=N1MAX
      N2M=N2MAX
      N3M=N3MAX
      MREC=N1MAX*N2MAX*N3MAX/32
      MREC=N1M*N2M*N3M/32
      WRITE(1,8887) MREC
8887  FORMAT(7HMAXREC=,I7,25H  ENTER FILE TO BE OPENED)
      READ(1,8886) (LABL(I),I=1,10)
8886  FORMAT(10A2)
      OPEN(ICART,FILE=LABL,IOSTAT=IOS,STATUS='NEW',
     *          ERR=99,RECL=64,
     *      FORM='UNFORMATTED',ACCESS='DIRECT',MAXREC=MREC)
      DF1=FS1/FLOAT(N1MAX)
      DF2=FS2/FLOAT(N2MAX)
      DF3=FS3/FLOAT(N3MAX)
      N1D2=N1MAX/2
      N2D2=N2MAX/2
      N3D2=N3MAX/2
      DDDF=DF1*DF2*DF3
      X1MAX=FLOAT(N1MAX)
      X2MAX=FLOAT(N2MAX)
      X3MAX=FLOAT(N3MAX)
      FFF=FS1*FS2*FS3
      SIGXK=SQRT(X1MAX*X2MAX*X3MAX/2.)/FFF
      P=PHIU(0.,0.,0.,II)
      SUM=P
      H=SQRT(FFF*P)
      X(1)=SIGXK*ROOT2*H*CMPLX(GRAN(),0. )
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vivianich

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by q1036210267 at 2012-05-20 09:04:46:
你好,我想问下:INput 是输入文件 还是输出文件??
好像不能 对一个 文件 同时输入和输出吧。

我觉得input在这里起到的是赋值的作用,代表了unit=1这个存储文件,原版程序里确实是这么写的
3楼2012-05-20 09:44:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

q1036210267

木虫 (正式写手)

【答案】应助回帖


vivianich: 金币+1, ★★★很有帮助 2012-05-22 10:27:33
你好,我想问下:INput 是输入文件 还是输出文件??
好像不能 对一个 文件 同时输入和输出吧。
生活中坚持快乐的原则不改变,学习工作中踏实上进!`~`
2楼2012-05-20 09:04:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

q1036210267

木虫 (正式写手)

引用回帖:
3楼: Originally posted by vivianich at 2012-05-20 09:44:01:
我觉得input在这里起到的是赋值的作用,代表了unit=1这个存储文件,原版程序里确实是这么写的

但是 ,从你的出错提示信息:出错的地方 就是 对 1 这个文件的操作有问题。

如果方便的话,把你的源程序贴出来
(或发我邮箱liyunzhi01@126.com),大家一起讨论下。
生活中坚持快乐的原则不改变,学习工作中踏实上进!`~`
4楼2012-05-20 11:06:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vivianich

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by q1036210267 at 2012-05-20 11:06:52:
但是 ,从你的出错提示信息:出错的地方 就是 对 1 这个文件的操作有问题。

如果方便的话,把你的源程序贴出来
(或发我邮箱liyunzhi01@126.com),大家一起讨论下。

你好,源程序发过去了,考虑了您的建议后,我把所有读入命令里的input值改为5,也就是通过键盘输入,这个错误就解决了,但是运行后结果不对,并出现了错误提示ios=36,我想应该又是open语句出问题了
5楼2012-05-21 09:38:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见