CIty-数据无法下标-编译cobol程序时出错

问题描述 投票:0回答:1
   IDENTIFICATION DIVISION.
   PROGRAM-ID. Assignment00.

   DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 Temperature PIC 9(3)V9(1).
   01 Counter PIC 9(2) VALUE 1.
   01 City-Names.
      05 City-Name OCCURS 5 TIMES PIC X(10) VALUE 
         'Montreal', 'Ottawa', 'Toronto', 'Kingston', 'Cornwall'.
   01 City-Temps.
      05 City-Temps-Array OCCURS 5 TIMES
         INDEXED BY City-Index.
         10 Temp OCCURS 5 TIMES PIC 9(3)V9(1).
   01 Total-Temperature PIC 9(5)V9(1).
   01 Average-Temperature PIC 9(3)V9(1).

   PROCEDURE DIVISION.
   MAIN-LOGIC.
       PERFORM VARYING City-Index FROM 1 BY 1 UNTIL City-Index > 5
         DISPLAY "ENTER the last 5 daily high temperatures for: " 
         City-Names(City-Index)
         PERFORM ACCEPT-TEMPERATURES
         PERFORM CALCULATE-AVERAGE
         DISPLAY "Average temperature for " 
         City-Names(City-Index) " is " Average-Temperature "C"
       END-PERFORM
       STOP RUN.

   ACCEPT-TEMPERATURES.
       PERFORM VARYING Counter FROM 1 BY 1 UNTIL Counter > 5
         DISPLAY "Enter temperature #" Counter ": "
         ACCEPT Temperature
         MOVE Temperature TO Temp(Counter) OF City-Temps(City-Index)
       END-PERFORM.

   CALCULATE-AVERAGE.
       COMPUTE Total-Temperature = 0
       PERFORM VARYING Counter FROM 1 BY 1 UNTIL Counter > 5
          ADD Temp(Counter) OF City-Temps(City-Index) TO 
          Total-Temperature
       END-PERFORM
       COMPUTE Average-Temperature = Total-Temperature / 5.

当我尝试在 VS studio 代码中编译时,收到这些错误消息。

Assignment00.cbl: in paragraph 'MAIN-LOGIC':
Assignment00.cbl:32: error: 'City-Data' cannot be subscripted
Assignment00.cbl:32: error: syntax error, unexpected :
Assignment00.cbl:31: error: PERFORM statement not terminated by END-PERFORM
Assignment00.cbl: in paragraph 'CITY-DATA-PROCESS':
Assignment00.cbl:42: error: 'City-Data' cannot be subscripted
Assignment00.cbl:42: error: syntax error, unexpected :
Assignment00.cbl:43: error: 'City-Data' cannot be subscripted
Assignment00.cbl:43: error: syntax error, unexpected :

我正在尝试使用 GnuCOBOL 创建一个简单的 COBOL 程序。该程序必须接受每个城市的 5 个温度,然后显示每个城市的平均温度。

我不知道如何解决此错误。

cobol gnucobol
1个回答
0
投票

您定义了一个包含 5 个名称的“表”的组:

   01 City-Names.
      05 City-Name OCCURS 5 TIMES PIC X(10) VALUE 
         'Montreal', 'Ottawa', 'Toronto', 'Kingston', 'Cornwall'.

然后为该组添加下标:

         DISPLAY "ENTER the last 5 daily high temperatures for: " 
         City-Names(City-Index)

将其更改为实际具有多个

OCCUR
ence
S
的变量:
City-Name (City-Index)

© www.soinside.com 2019 - 2024. All rights reserved.