Getting fortran runtime error: end of the file

Getting fortran runtime error: end of the file

我正在尝试使用以下代码读取文件,但它给出了文件结尾错误

real u,v,rs,rd
open (10,file='AD02.txt',status='old')
open(12,file='AD02_1.txt',status='unknown')
    pi=atan(1.0e00)*4.0
rad=pi/180.0


    100 read(10,*,end=98)u,v


    rs=sqrt((u*u)+(v*v))
if (v.eq.0.) then
    if (u.gt.0)then
    rd = 90
    else
    rd=270
    endif
    go to 101
end if
  rd=(atan(u/v))/rad
  if((u.ge.0.).and.(v.lt.0.))
 +     rd=rd+180.
  if((u.lt.0.).and.(v.lt.0.))
 +     rd=rd+180.
  if((u.lt.0.).and.(v.ge.0.))
 +     rd=rd+360.
  if((u.eq.0.).and.(v.eq.0.))
 +     rd=0.
 101      rd=rd+180.0
  if(rd.ge.360.0) rd=rd-360.0

 c  write(12,*)rs,rd
    write(12,*)u,v,rs,rd
 goto 100
 98   close(10) 
 99   close(11)
stop
end

给出文件结尾错误

样本输入:

1/1/2017    20:00     -2    -2.7        3.360059523 36.45608472
1/1/2017    21:00   -1.71   -2.74       3.229814236 31.89269113       
1/1/2017    22:00   -1.04   -3.48       3.632079294 16.5559465
1/1/2017    23:00   -0.67   -4.09       4.144514447 9.216650926
1/2/2017    0:00    -0.73   -4.51       4.568697845 9.107662714
1/2/2017    2:00    -1.04   -5.35       5.450146787 10.91495543

最多 n 个值

请帮我解决这个问题

正如@albert 所说,日期是问题所在。您的 READ 不仅假装日期(和时间)不存在,而且列表定向输入中的斜线会终止读取。您想使用明确的格式 - 以下作品:

100    read (10,'(T18,2F8.2)',end=98) u,v

我还要指出,您不应在固定格式的源代码中进行编码,如果您这样做并在此处粘贴代码,则必须注意列位置。我必须对您的代码进行大量编辑才能编译。