私は主に2つの関数を呼び出しています。(Decrypt) と呼ばれる 2 番目の関数は、その内部で最初の関数 (Encrypt) を呼び出します。したがって、ここでは Encrypt が 2 回呼び出されています。メインで 1 回、次に Decrypt で 1 回。
問題は、この方法で機能することを拒否することです。Encrypt がメインで使用されると、プログラムのどこでも Encrypt を使用できなくなります。変数がまだ使用されているようで、新しい変数を渡すことができません。
たとえば、メイン関数から Encrypt を削除し、Decrypt のみを呼び出すと、正常に動作します。理由がわかりません。
IDENTIFICATION DIVISION.
PROGRAM-ID. CAESER-1-CIPHER.
DATA DIVISION.
PROCEDURE DIVISION
CALL 'ENCRYPT' USING BY CONTENT INPUTE CIPHERE.
CALL 'DECRYPT' USING BY CONTENT INPUTD CIPHERD.
STOP RUN.
IDENTIFICATION DIVISION.
PROGRAM-ID. ENCRYPT.
DATA DIVISION.
PROCEDURE DIVISION BLAH BLAH
BLAH BLAH COMPUTE
END PROGRAM ENCRYPT.
IDENTIFICATION DIVISION.
PROGRAM-ID. DECRYPT.
DATA DIVISION.
PROCEDURE DIVISION BLAH BLAH
CALL 'ENCRYPT' USING BY CONTENT BLAH BLAH
EXIT PROGRAM.
END PROGRAM DECRYPT.