COBOL if else-if语句,使用它们的正确方法

时间:2018-03-11 16:44:05

标签: if-statement cobol

我是COBOL的新手,想写一个嵌套的if语句。我在ELSE-IF和ELSE上遇到错误。我确定这是一个简单的解决办法,但我无法弄清楚我哪里出错了。

reading-procedure.
       display "Enter Type of Pet: " with no advancing.
       accept pet.
       display "Enter Appointment Fee: " with no advancing.
       accept fee.
       IF pet = 'dog' 
       add fee total giving dogTotal.
       add 1 to dogCount.
       ELSE-IF pet = 'cat' 
       add fee total giving catTotal.
       add 1 to catCount.
       ELSE
       add fee total giving otherTotal.
       add 1 to otherCount.
       END-IF

1 个答案:

答案 0 :(得分:5)

COBOL中没有(标准)else-if语句。 在大多数情况下,如果您有多个分支EVALUATE TRUE并且WHEN condition-1 <statements> WHEN condition-2 <statements> [...] END-EVALUATE是您想要使用的内容 - 在您的示例中,您可以执行EVALUATE pet WHEN 'dog' ... WHEN 'cat' ... END-EVALUATE

你为ELSE收到语法错误的原因很简单:用句点结束它们 - 摆脱它们(PROCEDURE DIVISION中唯一需要它们的部分是在www.mydomain1.com/somepath?somequery之前和之后段落/部分/条目定义。