0
文字のascii値を取得するには、複数の方法が必要です。 さらに、すべての文字のASCII値の合計を取得する必要があります。 私は現在以下のものを持っており、個々の値が必要な最初のセクションについては問題なく使用できます 。 Cobolでこれを行う簡単な方法や機能があるかどうかを知りたいだけですか?Cobolで文字のASCII値を取得する簡単な方法
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-COUNTERS.
03 WS-COUNTER PIC 9(05).
03 WS-INPUT PIC X(01).
03 WS-DISPLAY PIC 9(03).
01 W1-ARRAY.
03 ALPHABETIC-CHARS OCCURS 26 TIMES PIC X.
01 W3-ARRAY.
03 NUMERIC-CHARS OCCURS 26 TIMES PIC X.
PROCEDURE DIVISION.
A000-MAIN SECTION.
BEGIN.
PERFORM B000-INITIALIZE.
PERFORM C000-PROCESS UNTIL WS-COUNTER > 26.
PERFORM D000-END.
A099-EXIT.
STOP RUN.
B000-INITIALIZE SECTION.
ACCEPT WS-INPUT.
MOVE "ABCDEFGHIJKLMNOPQRSTUVWXYZ" TO W1-ARRAY.
MOVE "" TO W3-ARRAY.
MOVE 1 TO WS-COUNTER.
MOVE 0 TO WS-DISPLAY.
B099-EXIT.
EXIT.
C000-PROCESS SECTION.
C001-BEGIN.
IF WS-INPUT IS NUMERIC
IF NUMERIC-CHARS(WS-COUNTER) = WS-INPUT
COMPUTE WS-DISPLAY = WS-COUNTER + 48 - 1
END-IF
ELSE
IF ALPHABETIC-CHARS(WS-COUNTER) = WS-INPUT
COMPUTE WS-DISPLAY = WS-COUNTER + 65 - 1
END-IF
END-IF.
ADD 1 TO WS-COUNTER.
C099-EXIT.
EXIT.
メリッサについては、COBOLのマニュアルを参照してください。 1985年の規格以来、(実際の文字表現に関係なく)あなたが望むものを正確に行う固有の機能がありました。私たちはあなたのためのマニュアルを読むためにここにいません。 –
あなたがexecers番号をcharacer_zeroに設定して26回追加すると、あなたの答えは正しくなりません。余分なパラグラフやフルストップ/ピリオドがたくさんあります。あなたはそれを教えられていますか? –
はい私はそれを教えられています。あなたが従っている別の標準はありますか?私は余分なゼロを取り出した。ありがとう。 –