24小时热门版块排行榜    

查看: 1634  |  回复: 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

铁虫 (小有名气)

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

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的回帖

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 没有任何消息-是不是就凉了 +5 图啦图啦 2026-08-24 5/250 2026-08-24 17:24 by robert翔
[基金申请] 如果此刻你正在为国基感到焦虑,不妨来听听这首《基金之外》 +5 scalable 2026-08-24 5/250 2026-08-24 17:03 by spiderzhuzhi
[基金申请] 能否退出参与的面上项目解除限项 +19 koalala 2026-08-24 21/1050 2026-08-24 16:48 by Wei_ren
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +17 医学老男孩 2026-08-20 21/1050 2026-08-24 14:21 by refreshing11
[基金申请] 估计是周四 +4 archvillain 2026-08-18 4/200 2026-08-24 13:53 by zzuzxg
[基金申请] 我面上完蛋了 +8 且听虎啸 2026-08-20 9/450 2026-08-24 13:52 by zzuzxg
[基金申请] 朋友圈看到的 +7 wangzilk 2026-08-18 9/450 2026-08-24 10:50 by cmrandy
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 17/850 2026-08-24 10:20 by echo8914667
[基金申请] 明天应该可查了!? +4 chengyan1220 2026-08-23 4/200 2026-08-24 08:47 by gloomy6159
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[基金申请] filecode,4个jtjc了 +13 ziyangfang 2026-08-19 16/800 2026-08-22 17:08 by WH3796
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
信息提示
请填处理意见