error: syntax error, unexpected MULTIPLY, expecting Identifier
error: syntax error, unexpected MULTIPLY, expecting Identifier
我正在努力完成 Codewars 中的套路,这是我在 COBOL 中的第一个程序。任务是根据体重和身高告知 BMI。但是当我 运行 我的程序时,它显示了标题的错误。我正在使用 COBOL 3.1 IBM,CodeKata 中的编译器。
IDENTIFICATION DIVISION.
PROGRAM-ID. BMI.
DATA DIVISION.
LINKAGE SECTION.
01 WEIGHT PIC 9(8).
01 HEIGHT PIC 9(8)V9(2).
01 HEIGHT_SQ PIC 9(10)V9(2).
01 SUBRESULT PIC 9(10).
01 RESULT PIC A(11).
PROCEDURE DIVISION USING WEIGHT HEIGHT RESULT HEIGHT_SQ SUBRESULT.
MULTIPLY HEIGHT BY HEIGHT GIVING HEIGHT_SQ.
DIVIDE WEIGHT BY HEIGHT GIVING SUBRESULT.
IF SUBRESULT > 30
MOVE "Obese" TO RESULT
ELSE IF SUBRESULT <= 30
MOVE "Overweight" TO RESULT
ELSE IF SUBRESULT <= 25
MOVE "Normal" TO RESULT
ELSE IF SUBRESULT <= 185
MOVE "Underweight" TO RESULT
END-IF.
END PROGRAM BMI.
如果我删除前两行,我仍然会报错:
错误:语法错误,意外 IF,需要标识符
编译器会感到困惑,因为它只看到:
PROCEDURE DIVISION USING WEIGHT HEIGHT RESULT HEIGHT_SQ SUBRESULT
结束 PROCEDURE DIVISION
的 USING
子句的句号位于第 73 列,此编译器显然适用于固定格式的引用格式。
只需将该句点移到下一行,程序就会编译。
您可能想要查看 COBOL draft standard 以了解有关参考格式的更多信息 - 或者查看编译器语言参考/程序员指南。
附加说明:对于“便携式”COBOL,您需要在 PROCEDURE DIVISION
的末尾添加一个 GOBACK
语句(通常不需要,但不会造成伤害并导致“适用于所有环境”).
我正在努力完成 Codewars 中的套路,这是我在 COBOL 中的第一个程序。任务是根据体重和身高告知 BMI。但是当我 运行 我的程序时,它显示了标题的错误。我正在使用 COBOL 3.1 IBM,CodeKata 中的编译器。
IDENTIFICATION DIVISION.
PROGRAM-ID. BMI.
DATA DIVISION.
LINKAGE SECTION.
01 WEIGHT PIC 9(8).
01 HEIGHT PIC 9(8)V9(2).
01 HEIGHT_SQ PIC 9(10)V9(2).
01 SUBRESULT PIC 9(10).
01 RESULT PIC A(11).
PROCEDURE DIVISION USING WEIGHT HEIGHT RESULT HEIGHT_SQ SUBRESULT.
MULTIPLY HEIGHT BY HEIGHT GIVING HEIGHT_SQ.
DIVIDE WEIGHT BY HEIGHT GIVING SUBRESULT.
IF SUBRESULT > 30
MOVE "Obese" TO RESULT
ELSE IF SUBRESULT <= 30
MOVE "Overweight" TO RESULT
ELSE IF SUBRESULT <= 25
MOVE "Normal" TO RESULT
ELSE IF SUBRESULT <= 185
MOVE "Underweight" TO RESULT
END-IF.
END PROGRAM BMI.
如果我删除前两行,我仍然会报错: 错误:语法错误,意外 IF,需要标识符
编译器会感到困惑,因为它只看到:
PROCEDURE DIVISION USING WEIGHT HEIGHT RESULT HEIGHT_SQ SUBRESULT
结束 PROCEDURE DIVISION
的 USING
子句的句号位于第 73 列,此编译器显然适用于固定格式的引用格式。
只需将该句点移到下一行,程序就会编译。
您可能想要查看 COBOL draft standard 以了解有关参考格式的更多信息 - 或者查看编译器语言参考/程序员指南。
附加说明:对于“便携式”COBOL,您需要在 PROCEDURE DIVISION
的末尾添加一个 GOBACK
语句(通常不需要,但不会造成伤害并导致“适用于所有环境”).