2013-04-25 446 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