爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7448|回复: 15

运行成功,但是没有结果文件出现

[复制链接]
发表于 2014-7-5 17:43:22 | 显示全部楼层 |阅读模式
Fortran
系统平台: fortran
问题概况: 编了个小程序,想把特定时间段的数据提出来,调试成功后,运行也没有问题。但是没有生成我想要的文件
问题截图: -
我看过提问的智慧: 看过
自己思考时长(天): 2

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 黄小仙儿 于 2014-7-5 17:51 编辑

编了个小程序,想把特定时间段的数据提出来,调试成功后,运行也没有问题。但是没有生成我想要的文件,即文件time.txt
这是我的程序:
我是想把20:00,20:20,20:40,21:00,21:20,21:40......这几个时间点,前后5分钟发生闪电的经纬度数提出来(比如20点的,我需要19点57分30秒——20点02分30秒之间的闪电经纬度),写入新的的文件中
program incorpfile
integer,parameter::n=11644
integer :: hour(n),mini(n),sec(n)
integer i,j
logical alive
real(8) :: lat(n),lon(n),m

open(10,file="D:/Fortran/Console11/25yuan.txt",status='old')
do i=1,n
read(10,*)hour(i),mini(i),sec(i),lat(i),lon(i)
!print*,i
enddo

do i=1,n
m=hour(i)*3600+mini(i)*60+sec(i)
if((hour(i)*3600+mini(i)*60+sec(i))>=(70650.+i*1200.).and.(hour(i)*3600+mini(i)*60+sec(i))<=(70950.+i*1200.)) then
open(12,file="D:/Fortran/Console11/time.txt",form="formatted")
write(12,100)m,lat(i),lon(i)
   endif
   
100  format(f10.4,f10.4,f10.4)
enddo
close(12)
end
原始文件25yuan.txt的数据我截了一段:第一列是闪电发生的小时,第二列是分钟,第三列是秒数,第四列是纬度,第五列是经度
18 7 33.3271784 31.1279 106.6388
18 7 33.603658 31.1241 106.5709
18 5 9.6678056 31.1581 106.4682
18 5 10.3223859 31.1619 106.4464
18 0 6.8301053 31.7269 106.1537
18 35 30.8234903 31.3522 105.8865
18 43 49.5188434 31.7886 105.758
18 56 55.5062223 31.2948 105.4081
18 0 36.4096751 31.1789 105.3401
18 58 58.8170708 31.6236 105.2973
18 46 42.6784351 31.305 105.2613
18 58 58.9550511 31.447 105.2417
求大神帮忙~~

密码修改失败请联系微信:mofangbao
发表于 2014-7-5 20:26:56 | 显示全部楼层
你的i是(1,11644),70650+(i*1200)在(71850,?),i=1时,70650+(i*1200)=71850恰好是19点57分30秒,i=2时,70650+(2*1200)=73050, 20点02分30秒是72150,个人认为不可能有符合条件的,肯定是空文件
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

发表于 2014-7-5 19:35:30 | 显示全部楼层
秒数不是实型的吗?你这定义的是整型数组
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-7-5 19:41:15 | 显示全部楼层
zhouling 发表于 2014-7-5 19:35
秒数不是实型的吗?你这定义的是整型数组

谢谢哦,太粗心了。但是我刚改了,还是没有生成~
密码修改失败请联系微信:mofangbao
发表于 2014-7-5 19:46:34 | 显示全部楼层
黄小仙儿 发表于 2014-7-5 19:41
谢谢哦,太粗心了。但是我刚改了,还是没有生成~

是不是和你这打开文件有关系,我觉得放错地方了,应该放在if语句外面吧
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-7-5 19:50:49 | 显示全部楼层
zhouling 发表于 2014-7-5 19:46
是不是和你这打开文件有关系,我觉得放错地方了,应该放在if语句外面吧

但是if then之后岂不是不能达到效果了,then之后写什么语句呢
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-7-5 19:52:30 | 显示全部楼层
zhouling 发表于 2014-7-5 19:46
是不是和你这打开文件有关系,我觉得放错地方了,应该放在if语句外面吧

刚刚把open语句调到了do前面试了一下,生成了time。txt,但是里面没有东西被写入
密码修改失败请联系微信:mofangbao
发表于 2014-7-5 19:54:24 | 显示全部楼层
黄小仙儿 发表于 2014-7-5 19:50
但是if then之后岂不是不能达到效果了,then之后写什么语句呢

把open(12,file="D:/Fortran/Console11/time.txt",form="formatted")这句放在其它地方,比如if()前面呢
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-7-5 19:56:27 | 显示全部楼层
zhouling 发表于 2014-7-5 19:54
把open(12,file="D:/Fortran/Console11/time.txt",form="formatted")这句放在其它地方,比如if()前面呢

还是跟调到了do前面一样,生成了time.txt,但是里面没有东西被写入
密码修改失败请联系微信:mofangbao
发表于 2014-7-5 20:08:50 | 显示全部楼层
黄小仙儿 发表于 2014-7-5 19:56
还是跟调到了do前面一样,生成了time.txt,但是里面没有东西被写入

还有一种可能是没有条件满足你设定的if语句,所以没有输出
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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