我需要编写一个可以读取和打印 .dat 文件的 Fortran 程序。
(文件 homework_6.dat 包含书籍记录:名称(最多 25 个字符)、出版年份(4 位整数)、价格(6 位实数)、ISBN(13 位整数)。编写程序读取文件(homework_6. dat)并按以下格式打印(在屏幕上或到另一个文件中)详细信息:
Publish
Name Year ($) ISBN
------------------------- ---- ------ -------------
Principles of Combustion 2005 107.61 9780471046899
An Introduction to Comb 2011 193.99 9780073380193
Guide to Fortran 2009 71.95 9781848825420
Modern Fortran Explain 2011 100.00 9780199601417
Introduction to Program 2012 200.00 9780857292322)
这是我写的
program dat
implicit none
character (len=25) :: Name
integer :: i, publish_year, ISBN
real :: price
open(unit=7, file="homework_6.dat", status="old", action="readwrite")
do i=1, 10
read (unit=7,fmt="(a25,i4,f3.2,i13)") Name, publish_year, price, ISBN
write (unit=7,fmt="(a25,i4,f3.2,i13)") Name, publish_year, price, ISBN
end do
close(unit=7)
end program dat
但是 Fortran 说第 8 行有错误
我不知道该怎么办 :(
索尼娅(国际电联)
- 编辑 -
所以我尝试编写一个程序,但执行后我仍然有错误
program dat
implicit none
character (len=25) :: Name
character (len=13) :: ISBN
integer :: i, publish_year
real :: price
open(unit=10, file="homework_6.dat", status="old", action="readwrite")
open(unit=11, file="output_hw6.dat")
!Comment: these below 3 lines are for skipping 3 heading your input
read(10,*)
read(10,*)
read(10,*)
do i=1, 10
read (10,*) Name, publish_year, price, ISBN
write (11,1) Name, publish_year, price, ISBN
1 format(a25,2x,i4,2x,f3.2,2x,a13)
end do
close(unit=10)
end program dat
我在第 14 行有一个错误。错误 52,字段 DAT 中的无效字符 - 在第 14 行的文件 homework.f95 中 [+01b3]