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