2013-04-25 224 views
4

我想在Cobol中使用嵌套的if语句。至于我可以告诉我下面的风格指南,但继续接收错误:cobol嵌套的if语句

file_name.cob:64:错误:语法错误,意外ELSE < - 这是第二ELSE语句

的代码的目的是作为一个凯撒密码,但它似乎只是嵌套的if语句产生的错误。我尝试在初始IF语句的ELSE子句之后放置嵌套语句,但这也不成功。

编辑:我使用的开放式COBOL,并与文字 ' - 免费' 选项

IF CharCount < 26 
        ADD firstnum, CharCount GIVING stringShift. 
        DISPLAY stringShift. 

        IF FUNCTION MOD(stringShift, 26) IS NOT ZERO 

          MOVE FUNCTION MOD(stringShift, 26) to stringShift 
          DISPLAY stringShift 

          MOVE abc(stringShift:stringShift) TO newChar 
          DISPLAY newChar 

          STRING newString DELIMITED BY "", newChar DELIMITED BY SIZE INTO newString 

          DISPLAY newString 
        ELSE 
          STRING newString DELIMITED BY "", searchChar DELIMITED BY SIZE INTO newString 
          DISPLAY newString 
        END-IF 
      ELSE 
        STRING newString DELIMITED BY "", searchChar DELIMITED BY SIZE INTO newString 
        DISPLAY newString 
      END-IF. 

感谢编译!

+2

只是想在这里分享答案,因为它是谷歌comp.lang.cobol组的回答。这是第一次ADD和DISPLAY行后导致问题的两个时期。它现在编译成功。 – argonXM 2013-04-25 19:10:17

+1

我会提出一个'。'在每个程序结束时自行排队(必需)。然后搜索你的程序流浪'。'。有些人会让你找到流浪'。'在程序部门。在主机ISPF编辑器中,命令字符串X all; F '。'所有; X ' 。 “所有人都会在程序部门中显示错误的位置。 – 2013-04-26 08:02:04

回答

1

只是想在这里分享答案,因为它在comp.lang.cobol谷歌组中得到了回答。这是第一次ADD和DISPLAY行后导致问题的两个时期。它现在编译成功。

线条应显示为:

ADD firstnum, CharCount GIVING stringShift 
DISPLAY stringShift