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 个温度,然后显示每个城市的平均温度。
我不知道如何解决此错误。
您定义了一个包含 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
enceS
的变量:
City-Name (City-Index)