Cobol でネストされた if ステートメントを使用しようとしています。私が知る限り、スタイルガイドに従っていますが、エラーが発生し続けます:
file_name.cob:64: エラー: 構文エラー、予期しない ELSE <- これは 2 番目の ELSE ステートメントです
コードの目的は Caesar 暗号として機能することですが、エラーを生成しているのはネストされた if ステートメントのみのようです。最初の IF ステートメントの ELSE 句の後にネストされたステートメントを入れようとしましたが、それも失敗しました。
編集:私はopen-cobolを使用しており、「-free」オプションでコンパイルしています
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.
ありがとう!