871100103 发表于 2014-6-6 14:10:39

读写txt文档



初始建立文档txt,里面有初始值0,读取它为a,赋值 Value=a+Value,将Value值再写入txt,替换掉原始的0。value是软件运行自动会得到的结果。例如自己写的中间部分,有错误。
大神能帮我写个吗?

open(22,file='I:\Wear simulation\data.txt',form='formatted',status='old',position='append')
T=vmc1+273.15
teq=10**((T/773.15)*(20+log10(DTMAXC/3600))-20)
open(10,file='I:\Equivalent time\data.txt',form='formatted',status='old',position='asis')
read(10,*) sum
teq=sum+teq
write(10,*) teq
M=773.15*(20+log10(teq+4.58682))
Hroom=(-5.0E-15)*M**4+(2.0E-10)*M**3-(2.0E-6)*M**2+0.0086M+58.516
Fhot=(-6.282844E-9)*T**3+(1.0630785E-5)*T**2-(5.8086096E-3)*T+1.9575015
Hhot=Hroom*Fhot
k=(29.29*log(T)-168.73)/(10*10*10*10*10*10)
a=2.0
WI=(VMC4/Hhot**a)*k*VMC3*DTMAXC
WA=(VMC4/Hhot**a)*k*VMC3*DTMAXC+WA
close(10)
write(22,*) dtmaxc
write(22,"(7f21.10)") VMC1,VMC2,VMC3,VMC4,k,Hhot,WI,WA
close(22)


楚香饭 发表于 2014-6-6 14:21:32

本帖最后由 chuxf 于 2014-6-6 14:22 编辑

具体有什么错误?请给出错误提示或截图。

既然初始值为 0 ,你加他干嘛?直接把 teq 写进去就OK了

871100103 发表于 2014-6-6 17:10:14

这是一个子程序,你说的把第一次得到的teq直接写进去也行,但是也得循环teq=sum+teq 赋值,因为每一次都会得到新的teq,而且之后用到的是之前得到的所有teq的和。。。谢谢你的回复。。简单地说就是读取--累积---替换的过程。。。

871100103 发表于 2014-6-6 17:11:19

再次感谢你

楚香饭 发表于 2014-6-6 17:14:30

第一,没必要每次写文件。用一个变量记录下来,最后再写入文件。
第二,你的问题不是写文件的问题,而是编译就有问题。
第三,我不确定 absoft 允许中文的源代码文件名。建议不要用中文的。
第四,错误行分别在 28,36,39 行,仔细找找吧。

871100103 发表于 2014-6-7 09:24:47

您好,能帮我写个吗?我没学过编程,是赶鸭子上架啊。

安靖 发表于 2014-6-7 11:49:36

这要求有点过了啊……

楚香饭 发表于 2014-6-7 12:37:40

本帖最后由 chuxf 于 2014-6-7 12:54 编辑

这不是过分不过分的问题。

写一段代码,需要你提供很多很多的需求,各种数据格式,物理意义,你期望的计算方法等等等等。是需要比较多的沟通和交流才能做成的。

而不是说,你让我写,我就可以写。

另外,我恐怕也没有足够的时间和精力了代你完成你的工程。

871100103 发表于 2014-6-7 15:16:07

表示十分感谢

871100103 发表于 2014-6-7 15:16:46

安靖 发表于 2014-6-7 11:49
这要求有点过了啊……

只是一小段
页: [1] 2
查看完整版本: 读写txt文档