Fortran Coder

查看: 15244|回复: 10
打印 上一主题 下一主题

[子程序] 连续两次调用子例行程序 出错

[复制链接]

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
跳转到指定楼层
楼主
发表于 2016-5-11 08:59:12 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
Write(*,*)"请输入镀膜的材料"
    Read(*,*) Name_F
    Call Material(Name_F,Dens_F,Spec_F,Cond_F)
    Write(*,*) Name_F,Dens_F,Spec_F,Cond_F
    Write(*,*)"请输入基底的材料"
    Read(*,*) Name_B
    Call Material(Name_B,Dens_B,Spec_B,Cond_B)
    Write(*,*)Name_B,Dens_B,Spec_B,Cond_B
上面是连续两次调用子例行程 ABC_to_abc.f90 (439 Bytes, 下载次数: 4)


Main_Program.f90 (1.5 KB, 下载次数: 3)


Material.f90 (1.22 KB, 下载次数: 8)


material.txt (736 Bytes, 下载次数: 3)














序,第一次调用完全正确,第二次调用,就会出错 不知道什么原因 大神指点一下

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
沙发
 楼主| 发表于 2016-5-11 10:37:31 | 显示全部楼层
问题发现了出在了对文件行数扫描的程序上,但是还是不知道怎么解决 努力中

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
板凳
 楼主| 发表于 2016-5-11 13:28:09 | 显示全部楼层
是的 我发现了 后来我把读取文件行数的函数 重新写了一下,换了一个方法 现在好了  感谢你

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
地板
 楼主| 发表于 2016-5-12 11:51:03 | 显示全部楼层
我也发现这个程序有问题 ,当时也是借鉴别人的,我已经改过了  不在采用end这个选项了,这也是比较老的写法
[Fortran] 纯文本查看 复制代码
Subroutine  NUM_LINE(Num) 
    Integer::Numline=0,value=0,Num
    Character line
    OPEN(UNIT=11,FILE='material.txt',STATUS='OLD')
    Do While(value==0)
    Read(11,*,iostat=value) line
    If(value/=0)cycle
    Numline=Numline+1
    End Do
    Num=Numline
    Close(11)
    End 

新的 算法 多指点  不知道为什么 这个子程序调用num这个赋值必须在enddo 外面 否则第二次调用就会有问题

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
5#
 楼主| 发表于 2016-5-12 14:13:37 | 显示全部楼层
"Num = 0 !//这个很重要"其实这句话很关键,谢谢版主,程序越来月精简,我以前使用function的,因为要做有限差分的计算,不希望每个程序都很长,所以我就不使用function功能了,这个只能返回一个值,用起来也不太方便,谢谢 以后多多指点

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
6#
 楼主| 发表于 2016-5-26 13:48:56 | 显示全部楼层
fcode 发表于 2016-5-12 12:38
你的问题是 Numline 没有初始化 = 0
如果你 Integer :: NumLine = 0 ,那么只会在第一次执行。第二次以后不 ...

你好 你给我的回复里面那些标准的格式有颜色的字是什么上去的呀?我搞了好久似乎也不行

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
7#
 楼主| 发表于 2016-5-27 10:58:54 | 显示全部楼层
vvt 发表于 2016-5-26 14:33
点击  插入代码,在里面输入代码就可以了

恩 谢谢
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-7 08:30

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表