24小时热门版块排行榜    

查看: 1494  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

kathy2008

木虫 (正式写手)

[交流] 【求助】请改正错误 已有7人参与

本人在运行一程序,内有一段程序如下:
program ex1009
use func
implicit none
type(person), target :: p(5) = (/ person("陈同学", 180.0, 75.0),
                                    person("黄同学", 170.0, 65.0),
                                                                person("刘同学", 175.0, 80.0),
                                                                person("蔡同学", 182.0, 78.0),
                                                                person("许同学", 178.0, 70.0) /)
         type(pperson) :: pt(5)

运行后,报错如下:
C:\Program Files\Microsoft Visual Studio\MyProjects\chapter 10\9.for(40) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( ...
   type(person), target :: p(5) = (/ person('陈同学', 180.0, 75.0),
---------------------------------------------------------------------------^
C:\Program Files\Microsoft Visual Studio\MyProjects\chapter 10\9.for(41) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( ...
                                    person('黄同学', 170.0, 65.0),
-------------------------------------------------------------------^
C:\Program Files\Microsoft Visual Studio\MyProjects\chapter 10\9.for(42) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( ...
               person("刘同学", 175.0, 80.0),
-----------------------------------------------------------------------------------------------^
C:\Program Files\Microsoft Visual Studio\MyProjects\chapter 10\9.for(43) : Error: Syntax error, found END-OF-STATEMENT when expecting one of: ( ...
               person("蔡同学", 182.0, 78.0),

请问高手如何改正。谢谢。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kathy2008

木虫 (正式写手)

如果自己会改正错误,就不会发到这论坛上来了。我是指运行彭国轮Fortran95 的源程序时报错的。文件名为ex0921.for.因为遇到好几个类似的问题,所以请高手指点。程序如下:
        module typedef
          type student
                integer :: Chinese,English,Math,Natural,Social
                integer :: total
          end type
        end module

        program ex0921
          use typedef
          implicit none
          integer,parameter :: fileid=10
          integer,parameter :: students=20
          character(len=80) :: tempstr
          type(student) :: s(students)
          type(student) :: total
          integer i,num,error

          open(fileid,file="grades.txt",status="old",iostat=error)
          if(error/=0) then
                write(*,*) "open grades.txt fail."
          end if

          read(fileid,"(A80)" tempstr
          total=student(0,0,0,0,0)

          do i=1,students
            read(fileid,*) num,s(i)%Chinese,s(i)%English,s(i)%Math,
                           s(i)%Natural,s(i)%Social
                s(i)%total=s(i)%Chinese + s(i)%English + s(i)%Math
                            + s(i)%Natural + s(i)%Social
                total%Chinese = total%Chinese + s(i)%Chinese
                total%English = total%English + s(i)%English
                total%Math    = total%Math + s(i)%Math
                total%Natural = total%Natural + s(i)%Natural
                total%Social  = total%Social + s(i)%Social
                total%Total   = total%Total + s(i)%Total
          end do
       
          write(*,"(7A7)" "座号","中文","英文","数学","自然","社会","总分"
         do i=1,students
           write(*,"(7I7)" i, s(i)
         end do

         write(*,"(A7,6F7.1)" "平均"
                real(total%Chinese) real(students),
                real(total%English) real(students),
                real(total%Math)    real(students),
                real(total%Natural) real(students),
                real(total%Social)  real(students),
                real(total%Total)   real(students)

         stop
        end program
4楼2010-08-31 09:53:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

yfx2003

金虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
不知道这个 //干嘛
Signyournicknamehere
3楼2010-08-31 08:45:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+1):辛苦了! 2010-08-31 15:45:12
引用回帖:
C:\Program Files\Microsoft Visual Studio\MyProjects\chapter 10\9.for(40) : Error:
Syntax error, found END-OF-STATEMENT when expecting one of: ( ...
   type(person), target :: p(5) = (/ person('陈同学', 180.0, 75.0),

与程序关系不大,与您的英语水平关系很大。

Syntax error
“句法错误:”

Fortran,能这么换行吗?
俺闭关多年,真不知道世事变迁。
5楼2010-08-31 10:06:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

鼻涕牛

金虫 (初入文坛)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
nono2009(金币+1):鼓励应助。 2010-09-03 06:56:36
换行要加续行符的,建议重新看一下续行的内容。续行标志使用符号&
纵浪大化中,不喜亦不惧。应尽便须尽,无复独多虑
6楼2010-09-02 19:49:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见