24小时热门版块排行榜    

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

lchunmei001

木虫 (正式写手)


[交流] 【求助】输入是什么?

请教一下大家,如下这样一个输入片段,到底输入文件应该如何命名?运行总是没有输出。请路过高手帮解答解答,感激不尽!
C--->  INPUT EXPERIMENTAL DATA
       WRITE(*,*)'elem ?'
       READ(*,'(A2)')elem
       WRITE(FILM1,'(4A,2A,3A)')'ab-',elem,'.IN'
       OPEN(1,FILE=FILM1,status='old')
       READ(1,*)
       READ(1,*)
       READ(1,*)a,b,c,d,e,f,g,h
      ..........
回复此楼

» 猜你喜欢

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

» 抢金币啦!回帖就可以得到:

查看全部散金贴

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

dingxb

金虫 (正式写手)


lchunmei001(金币+10): 2011-04-14 08:55:54
引用回帖:
Originally posted by lchunmei001 at 2011-04-13 20:54:37:
请教一下大家,如下这样一个输入片段,到底输入文件应该如何命名?运行总是没有输出。请路过高手帮解答解答,感激不尽!
C--->  INPUT EXPERIMENTAL DATA
       WRITE(*,*)'elem ?'
       READ(*,'(A2)') ...

在下不才斗胆来说两句。

细观Lz的代码,惊奇的发现,这段代码写的真的挺值得学习的。

1 C--->  INPUT EXPERIMENTAL DATA
2      WRITE(*,*)'elem ?'
3       READ(*,'(A2)')elem
4       WRITE(FILM1,'(4A,2A,3A)')'ab-',elem,'.IN'
5       OPEN(1,FILE=FILM1,status='old')
6      READ(1,*)
7       READ(1,*)
8       READ(1,*)a,b,c,d,e,f,g,h


简单的来看,楼主需要输入的如下形式的东西。假设楼主的输入文件名为,ab-AA.IN.
则,lz在该程序中仅需输入“AA”, 这样应该可以保证没有问题。

实际上正如snoopyzhao 兄所说,语句4其本质就是一个字符串运算,而且他也指出,这里可能对于"ab-"的格式描述符"4A" 有问题。建议作者,仔细调试这一段,最简单的,可以在4后加上输出,看看是否有问题。

同时可以在open这里加上是否成功打开文件的判断标志。
4楼2011-04-14 08:00:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答
lchunmei001(金币+10): 2011-04-14 08:55:47
引用回帖:
Originally posted by lchunmei001 at 2011-04-13 20:54:37:
请教一下大家,如下这样一个输入片段,到底输入文件应该如何命名?运行总是没有输出。请路过高手帮解答解答,感激不尽!
C--->  INPUT EXPERIMENTAL DATA
       WRITE(*,*)'elem ?'
       READ(*,'(A2)') ...

你这里都是在读取数据,没有输出啊……

C--->  INPUT EXPERIMENTAL DATA
       WRITE(*,*)'elem ?'
上面这行是在屏幕上输出 elem 这样的字符
       READ(*,'(A2)')elem
这里是读入一个长度为2的字符串,即你给 elem 的值
       WRITE(FILM1,'(4A,2A,3A)')'ab-',elem,'.IN'
这里是给一个字符串 film1 赋值,它最终的值是是ab-??.IN,其中??是上一步获得的。但这里好象有点儿问题,应该是'(3A,2A,3A)',也可能是后面 'ab-' 这儿有问题。
       OPEN(1,FILE=FILM1,status='old')
这是打开一个名为 film1,即 ab-??.IN 的文件
       READ(1,*)
读入一行,但其值不被使用
       READ(1,*)
同上
       READ(1,*)a,b,c,d,e,f,g,h
为 a, b, c, d, e, f, g, h 赋值,这些值来自于上面的那个打开的文件……

其实,随便找一本 Fortran 的书,看 I/O 部分的讲解即可……
2楼2011-04-13 22:02:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
注意下面这句没有输出的,虽然用的是 write 函数……

WRITE(FILM1,'(4A,2A,3A)')'ab-',elem,'.IN'
3楼2011-04-13 22:05:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lchunmei001

木虫 (正式写手)


正如楼上两位所说,我按后面需要输入的东西,构建了一个名为ab-??.IN的输入,其中??是在屏幕上输出 elem?后输入的字符。这样运行后没有任何输出文件?由于程序太长,输出在后面,我主要是想知道我的输入方法对没?

确实有可能是'(3A,2A,3A)'这里的问题,我再试试看。
5楼2011-04-14 09:03:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见