24小时热门版块排行榜    

查看: 898  |  回复: 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的回帖
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的回帖

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的回帖

lchunmei001

木虫 (正式写手)


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

确实有可能是'(3A,2A,3A)'这里的问题,我再试试看。
5楼2011-04-14 09:03:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lchunmei001

木虫 (正式写手)


刚试了一下改变'(3A,2A,3A)',不行啊!
6楼2011-04-14 09:24:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小木虫(金币+0.5):给个红包,谢谢回帖交流
lchunmei001(金币+5): 2011-04-14 14:26:29
你的程序提示错误了没有?如果没有的话,为什么说不行呢?如果提示错误,最好把错误信息给出来。

另外,判断是否读了文件,可以在 read 后加一行 write……

比如

READ(1,*)a,b,c,d,e,f,g,h
write(*,*) a,b,c,d,e,f,g,h
7楼2011-04-14 10:39:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingxb

金虫 (正式写手)



小木虫(金币+0.5):给个红包,谢谢回帖交流
lchunmei001(金币+5): 2011-04-14 14:26:35
建议先检查一下你的ab-??.IN文件是否存在,如果存在,是否数据是从第三行开始。

如果open出错的话,程序应该会终止运行的,So如果程序没有终止运行,则open应该是没错。
8楼2011-04-14 10:43:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
ben_ladeng(金币+2): 谢谢指点 2011-04-14 12:23:12
lchunmei001(金币+5): 2011-04-14 14:26:40
引用回帖:
Originally posted by lchunmei001 at 2011-04-14 09:24:22:
刚试了一下改变'(3A,2A,3A)',不行啊!

这个其实不影响的,我这里有一个小测试程序,你可以看一下:
CODE:
program test
implicit none
character (len=2) :: elem
character (len=9) :: film1
real :: a,b,c,d,e,f,g,h

WRITE(*,*)'elem ?'
READ(*,'(A2)')elem
WRITE(FILM1,'(4A,2A,3A)')'ab-',elem,'.IN'
write(*,*) film1
OPEN(1,FILE=FILM1,status='old')
READ(1,*)
READ(1,*)
READ(1,*)a,b,c,d,e,f,g,h
write(*,*) a,b,c,d,e,f,g,h

end program test

ab-55.IN 的内容如下:
CODE:
blank line
blank line
1 2 3 4.2 5 6 7 8.3
blank line

下面是运行的过程:
CODE:
D:\>a
elem ?
55
ab-55.IN
   1.0000000       2.0000000       3.0000000       4.1999998       5.0000000
   6.0000000       7.0000000       8.3000002

9楼2011-04-14 10:51:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lchunmei001

木虫 (正式写手)


谢谢大家,试了试大家所说的,错误确实不应该是这前面部分,应该是程序后半部分哪里出问题了,我自己先看看。程序较长,实在不好意思贴出来让大家帮找错!感谢各位热心的虫子!
10楼2011-04-14 14:25:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lchunmei001 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 317一志愿华南理工电气工程求调剂 +5 Soliloquy_Q 2026-02-28 9/450 2026-03-01 10:15 by Soliloquy_Q
[硕博家园] 2025届双非化工硕士毕业,申博 +3 更多的是 2026-02-27 4/200 2026-03-01 10:04 by ztg729
[硕博家园] 博士自荐 +6 科研狗111 2026-02-26 10/500 2026-03-01 10:02 by 科研狗111
[考研] 高分子化学与物理调剂 +4 好好好1233 2026-02-28 8/400 2026-03-01 09:26 by 好好好1233
[考研] 材料类求调剂 +7 wana_kiko 2026-02-28 7/350 2026-03-01 07:55 by ms629
[考研] 298求调剂 +5 axyz3 2026-02-28 5/250 2026-03-01 06:45 by 刘兵
[考研] 272求调剂 +4 田智友 2026-02-28 4/200 2026-03-01 06:43 by 刘兵
[考研] 材料调剂 +4 爱擦汗的可乐冰 2026-02-28 4/200 2026-03-01 00:38 by 猫猫球alter
[基金申请] 面上模板改不了页边距吧? +5 ieewxg 2026-02-25 6/300 2026-03-01 00:10 by addressing
[考研] 304求调剂 +3 52hz~~ 2026-02-28 5/250 2026-03-01 00:00 by 52hz~~
[考研] 化工专硕348,一志愿985求调剂 +4 弗格个 2026-02-28 6/300 2026-02-28 22:00 by wang_dand
[考博] 26申博 +4 想申博! 2026-02-26 4/200 2026-02-28 21:37 by limorning
[考研] 材料学调剂 +5 提神豆沙包 2026-02-28 5/250 2026-02-28 21:34 by gaoxiaoniuma
[考研] 264求调剂 +3 巴拉巴拉根556 2026-02-28 3/150 2026-02-28 21:31 by gaoxiaoniuma
[考研] 求调剂 +4 repeatt?t 2026-02-28 4/200 2026-02-28 21:16 by gaoxiaoniuma
[考研] 085600材料工程一志愿中科大总分312求调剂 +8 吃宵夜1 2026-02-28 10/500 2026-02-28 20:27 by L135790
[考研] 0856材料求调剂 +10 hyf hyf hyf 2026-02-28 11/550 2026-02-28 18:50 by 无际的草原
[高分子] 求环氧树脂研发1名 +3 孙xc 2026-02-25 11/550 2026-02-28 16:57 by ichall
[考研] 寻找调剂 +3 LYidhsjabdj 2026-02-28 3/150 2026-02-28 12:59 by miniwendy
[硕博家园] 【博士招生】太原理工大学2026化工博士 +4 N1ce_try 2026-02-24 8/400 2026-02-26 08:40 by N1ce_try
信息提示
请填处理意见