24小时热门版块排行榜    

查看: 1645  |  回复: 5

lijunjiexm

铁虫 (小有名气)

[求助] 求助一个简单程序的错误(2),谢谢

编译如下程序,在22行处CHARACTER*(*) STR
出错:

    PROGRAM MOVIE1

C *** Program to draw velocity profiles.
C
      IMPLICIT     REAL*4(A-H,O-Z)
      PARAMETER   (NUMEL = 1920, NUMNP = 2047,NDMB = 1000,NTIME1 = 140)
      REAL*8       QUADX (4,NUMEL), QUADY (4,NUMEL)
      REAL*8       QUADVX(4,NUMEL), QUADVY(4,NUMEL)
      INTEGER*4    BLACK(3)
      INTEGER*4    GREEN(3),RED(3),BLUE(3),WHITE(3),YELLOW(3)
      INTEGER*4    PALEGREEN(3), GREY(3)
      REAL*4       COORD(2), X1, X2, Y1, Y2, PARRAY(2,4)
      REAL*4       VARRAY(2,22)
      INTEGER*4    STATUS1, WINOPE, IDUM, NPOINT, LENGTH
      INTEGER*4    HORPROP, VERPROP
      REAL*4       X(NDMB,NTIME1), Y(NDMB,NTIME1)
      REAL*4       VX(NUMNP, NTIME1), VY(NUMNP, NTIME1)
      REAL*4       XNODE(NUMNP), YNODE(NUMNP)
      CHARACTER*13 MESSAGE1, LINE
      CHARACTER*50 MESSAGE2,MESSAGE3,MESSAGE4,MESSAGE5
      CHARACTER*80 DUM
      CHARACTER*(*) STR
      LOGICAL*1    GRID, VEL
C
C *** Prepare for the graphics:
C
      DATA (BLACK(I),       I=1,3)  /0,0,0/
      DATA (RED(I),         I=1,3)  /256,20,20/
      DATA (GREEN(I),       I=1,3)  /50,256,50/
      DATA (PALEGREEN(I),   I=1,3)  /10,86,10/
      DATA (BLUE(I),        I=1,3)  /100,100,256/
      DATA (WHITE(I),       I=1,3)  /256,256,256/
      DATA (YELLOW(I),      I=1,3)  /256,256,0/
C
      OPEN (7 , FILE = '../eval/ns2dev.msh')
      OPEN (8 , FILE = '../eval/ns2dev.trc')
      OPEN (10, FILE = '../eval/ns2dev.ve2')
      OPEN (11, FILE = '../mesh/mesh.dat')
C
C *** WINDOW
C
C       XMIN =     0.17
      XMIN =   0.0
C       XMAX =    0.19
      XMAX =    0.36
      YMIN =    -0.03
      YMAX =    0.03
C       YMAX =    0.02
      HORPROP = INT(1000. * XMAX) - INT(1000. * XMIN)
      VERPROP = INT(1000. * YMAX) - INT(1000. * YMIN)
      CALL KEEPAS ( ABS(HORPROP),  ABS(VERPROP))
      CALL KEEPAS (1,1)
      CALL PREFSI(1200, 200)
      MESSAGE1 = 'movie1'
      STATUS1 = WINOPE(MESSAGE1,6)
C
      CALL ORTHO2 (XMIN, XMAX, YMIN, YMAX)
      CALL LINEWI (1)
      CALL RGBMOD
      CALL DOUBLE
      CALL LSETDE (0,19)
      CALL GCONFI
      CALL C3I (BLACK)
      CALL CLEAR
      CALL ZBUFFE (.TRUE.)
      CALL ZCLEAR
      CALL SWAPBU
      CALL SLEEP(1)
      CALL ZBUFFE (.TRUE.)
      CALL ZCLEAR
c
c read mesh
c
      DO I = 1, NUMEL
        READ(7,*) IDUM, (QUADX(II,I),II=1,4),  (QUADY(II,I),II=1,4)
      ENDDO
c
c read tracer particles
c
      DO I = 1 , NTIME1
        READ(8,*) IDUM, TIME
        DO II=1, NDMB
          READ(8, *, END = 300) X(II , I), Y(II , I)
        ENDDO
      ENDDO
c
c read velocity field
c
      READ(10,*,END=300) IDUM, DUM1
      DO I = 1 , NTIME1
        READ(10,*,END=300) IDUM, DUM1
        DO II = 1, NUMNP
          READ(10,*,END=300) IDUM, VX(II , I), VY(II , I)
        ENDDO
      ENDDO
c
c read nodes (mesh again)
c
      READ(11,*,END=300) IDUM, DUM1
      DO I = 1 , NUMNP
        READ(11, *, END = 300) IDUM, XNODE(I), YNODE(I)
      ENDDO
C
C loop
C
      DO IBIGLOOP = 1 , 1000
      DO ITIME = 1 , NTIME1
        CALL C3I (BLACK)
        CALL CLEAR
        IF (ITIME .EQ. 1) THEN
          DO II = 1 , 1000
            DUMMY = II ** 0.2342
          ENDDO
        ENDIF
C
C *** Grid
C
        GRID = .FALSE.
        IF (GRID) THEN
          CALL LINEWI (1)
          CALL C3I (BLUE)
          DO II = 1 , NUMEL
            CALL BGNLIN
            DO III = 1 , 4
              COORD(1) = QUADX(III, II)
              COORD(2) = QUADY(III, II)
              PARRAY(1 , III) = QUADX(III, II)
              CALL V2F(COORD)
            ENDDO
            CALL ENDLIN
          ENDDO
          CALL C3I (RED)
          CALL LINEWI (1)
        ENDIF
C
C *** Velocity field
C
        VEL = .FALSE.
        IF (VEL) THEN
          DO I = 1 , NUMNP
            CALL C3I (GREEN)
            X1 = XNODE(I)
            Y1 = YNODE(I)
            X2 = XNODE(I) + VX(I,ITIME) * 1
            Y2 = YNODE(I) + VY(I,ITIME) * 1
            CALL MOVE2 (X1,Y1)
            CALL DRAW2 (X2,Y2)         
            CALL C3I (RED)
            CALL DRAW2 (X2,Y2)
          ENDDO
        ENDIF
c
c *** x-axis
c
C        CALL C3I (RED)
C        CALL LINEWI (1)
C        X1 = -11.
C        Y1 =  0.
C        X2 =  11.
C        Y2 =  0.
C        CALL MOVE2 (X1,Y1)
C        CALL DRAW2 (X2,Y2)
C
c *** y-axis
c
        X1 =  0.
        Y1 = -11
        X2 =  0.
        Y2 =  11
        CALL MOVE2 (X1,Y1)
        CALL DRAW2 (X2,Y2)
C        DO I = 1 , 1000
C          DUMMY = I ** 3.3
C        ENDDO
C
C *** Dumbbells
C
        DO I = 1 , 1
          CALL LINEWI (1)
          CALL C3I (YELLOW)
          CALL BGNPOI
          DO II = 1, NDMB
            COORD(1) = X(II, ITIME)
            COORD(2) = Y(II, ITIME)
            CALL V2F(COORD)
            COORD(2) = - Y(II, ITIME)
            CALL V2F(COORD)
          ENDDO
          CALL ENDPOI
C          CALL C3I (RED)
C          COORD(1) = X(346, ITIME)
C          COORD(2) = Y(346, ITIME)
C          CALL CIRCF(COORD(1), COORD(2), 0.0001)
C          CALL C3I (GREEN)
C          COORD(1) = X(1116, ITIME)
C          COORD(2) = Y(1116, ITIME)
C          CALL CIRCF(COORD(1), COORD(2), 0.0001)
C          CALL C3I (BLUE)
C          COORD(1) = X(319, ITIME)
C          COORD(2) = Y(319, ITIME)
C          CALL CIRCF(COORD(1), COORD(2), 0.0001)
        ENDDO
C         READ(5,*) LINE
        CALL SWAPBU
      ENDDO
      ENDDO
300  STOP
      END
回复此楼

» 猜你喜欢

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

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

lijunjiexm

铁虫 (小有名气)


dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-31 13:28:39
编译错误信息如下(请帮忙指点,谢谢):
--------------------Configuration: sucontr - Win32 Debug--------------------
Compiling Fortran...
G:\Program Files\sucontr\eval\movie1.f
G:\Program Files\sucontr\eval\movie1.f(22) : Error: This passed length character name has been used in an invalid context.   [STR]
      CHARACTER*(*) STR
--------------------^
Error executing df.exe.

movie1.obj - 1 error(s), 0 warning(s)
2楼2011-07-18 01:19:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


jjdg(金币+1): 感谢参与 2011-07-18 14:48:49
CHARACTER*(*) STR

这个只能用在子程的参数中,也就是说 STR 只能是 dummy argument

gfortran 给出的提示信息可能更清楚一些:
引用回帖:
      CHARACTER*(*) STR                                                
                      1
Error: Entity with assumed character length at (1) must be a dummy argument or a PARAMETER

3楼2011-07-18 08:30:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lijunjiexm

铁虫 (小有名气)

那应该如何呢?把它删了??
4楼2011-07-18 08:56:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zsq510

银虫 (小有名气)


dubo(金币+1): 欢迎常来程序语言版讨论 2011-07-31 13:28:48
祝福一下
5楼2011-07-18 09:17:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


lijunjiexm(金币+10): 谢谢,应该是删了就可以,不影响,我就是觉得f77程序,在VF调用时经常出现原来没问题的隐式申明,但在VF中就出问题了,是这样吗? 2011-07-18 09:54:06
jjdg(金币+1): 感谢参与 2011-07-18 14:49:03
引用回帖:
Originally posted by lijunjiexm at 2011-07-18 08:56:41:
那应该如何呢?把它删了??

好像在程序中也没有用到,就删了好了……
如果用到了,就直接给个特定的长度,如 character*80 str 也可以……
6楼2011-07-18 09:21:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lijunjiexm 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ero8OE6tv9cu 2026-09-02 4/200 2026-09-03 03:14 by rM1TE0WVDIIY
[博后之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 ero8OE6tv9cu 2026-09-02 6/300 2026-09-02 23:59 by rM1TE0WVDIIY
[基金申请] 要骂人了,新模版改版就是要淡化问题凝练这种虚的东西,结果有个评委还在说凝练得不够 +9 瞬息宇宙 2026-08-31 17/850 2026-09-02 14:04 by anjeeshine
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 10/500 2026-09-02 11:35 by 大不刘6
[基金申请] 学科评审组评审是指会评吗? +5 瞬息宇宙 2026-08-31 5/250 2026-09-02 10:13 by 雨冰共舞
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +7 gdd2018 2026-08-28 12/600 2026-09-01 08:32 by 尼古拉斯小虫
[基金申请] 国社科又开始会评了,不知道这次命运如何 +7 雨打竹帘 2026-08-30 11/550 2026-08-31 23:16 by hittle2008
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 中青基了要发朋友圈吗? +7 349506619 2026-08-28 7/350 2026-08-31 13:39 by 冼亮淀粉酶
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
信息提示
请填处理意见