回 帖 发 新 帖 刷新版面

主题:刚开始学FORTRAN,希望高手帮忙编程

导师给的作业需要用FORTRAN编程,但我没学过FORTRAN,导师让我自学[em54]
但这几天就需要,所以想请各位高手帮忙编一下。

附件中txt文件是把DXF(AutoCAD)文件直接用记事本读取的。

我需要做的是:

1. 在txt文件里的数据中把VERTEX下面的第6个、第8个、第10个数据(在CAD里是x,y,z坐标)读出,并写在一行里(如果是从VERTEX开始算的话是第7、第9、第11),并且第6、第8个数据只留到小数点后2位数。但是如果第10个数据为0,那么不写出(不用读出这组数据) (见下面)

已给数据:

VERTEX
  5
4E4A
  8
F001
 10
121000.08
 20
196470.79999999999
 30
45.0
 70
    32
  0

我要的:

121000.08  196470.80  45.0


如果是这样的:

VERTEX
  5
67C
  8
F003
 10
122531.8
 20
195558.63
 30
0.0
 70
    32
  0

那么就不用读出(因第10个数是0.0)



如果麻烦的话,只需读出VERTEX下面的第6个、第8个、第10个数据也行,不用管小数点以及第10个是否为0。




2. 跟第一个差不多,在txt文件里的数据中把POINT下面的第6个、第8个、第10个数据(在CAD里是x,y,z坐标)读出,并写在一行里,并且数据只留到小数点后2位数。(见下面)


已给数据:

POINT
  5
4E7
  8
F002
 10
120692.77
 20
196339.29000000001
 30
111.59999999999999
  0


我要的:

120692.77  196339.29  111.60

麻烦的话,只需把数据读出,不用管小数点。

菜鸟在等着您的帮助[em73]
不麻烦的话,把编的程序给我稍微讲解一下吧[em4]

回复列表 (共7个回复)

沙发

用Read(*,*)就行了。

板凳


我对FORTRAN可以说是完全不懂,可以的话,把程序具体写一下。

3 楼

不可以。这样很不好,你可以学,如果有不明白的可以问大家。

4 楼


那么我想把 VERTEX下面的第6个、第8个、第10个数据读出,应该用什么命令?

别的差不多都解决了,这个实在是不明白啊,我才自学fortran 2天,不明白的太多了[em21]

5 楼

一行一行读,不需要的就不管,需要的存下来就行了:)

6 楼


我还是不懂啊[em10]

怎么才能一行一行的读?[em8]

我想的是把txt文件转成.dat文件,然后如果见到VERTEX,那么看它下面第10个数据是否为0,是0的话继续找下一个VERTEX,如果不是0,那么读它下面的第6、8、10个数据,并且第6、第8个数据只留到小数点后2位。

这样做不知行不行?其他差不多能编,只是怎么表示VERTEX下面的第10个数据?
i=VERTEX   i+10 (这个好似是加减)
F1=VERTEX   F11 (这个好似是C语言)
[em10] 不明白啊

7 楼

Read(文件号,*)
这样就会跳过一行。

我来回复

您尚未登录,请登录后再回复。点此登录或注册