Re: [问题] 要如何将循环值分开存盘

楼主: zx168zx (zx168zx)   2014-11-19 22:12:18
下面是我又尝试的新方法
program test
IMPLICIT REAL * 8 (A - H, O - Z)
IMPLICIT integer * 8 (I-N)
character(100)::filename
filename='000.txt'
nn=2 !记事本数量
do i=1,nn
unit=i+10
write(filename(1:3),'(i3.3)') i
open(unit=unit,file=filename,status='unknown',position='rewind')
end do
do aa=2,2
do bb=1,2
do unit=11,nn+10
while_loop=0 !计算do whlie内的循环数
do while(条件)
while_loop=while_loop+1
write(unit,"( 3(F13.5))") aa,bb,X
enddo
enddo
write((125,*) aa,bb,while_loop
enddo
enddo
这样执行的结果我可以创出编号001~nn个记事本并写入资料
但他并不会依照我的aa,bb循环写入
比如001记事本 依然写入aa=2 bb=1,aa=2,bb=2的资料
002记事本也是如此
而且写入的资料量与我的loop数不合 不知道是哪边出了问题
另外执行完会跑出fort.124这个档案 也不知道为什么会跑出来
想请问各位大大前辈们 这样是哪边写法有误吗?
作者: laa7352 (Laa)   2014-11-20 07:01:00
把while_loop=0放到do unit=11前面?
楼主: zx168zx (zx168zx)   2014-11-20 10:49:00
我LOOP是要算 do while里面的loop数好像应该要放前面 但我记事本纪录的量还是跟LOOP不一样而且记事本里面纪录了aa=2 bb=1~2的值
作者: fcuiii   2014-11-20 11:37:00
你I那个DO 要把 aa bb 那些DO 放进去会出现fort是因为你写出到没指定的档案你filemane可以写成filemane=trim(i)//".txt"open(unit,file=trim(filemane))unit 可以不变 但在DO I循环里要加close(unit)
楼主: zx168zx (zx168zx)   2014-11-21 09:59:00
谢谢 我再试试看

Links booklink

Contact Us: admin [ a t ] ucptt.com