온도 변환기 (CELSIUS TO KELVIN 및 VERSA VERSA)로 사용할 프로그램을 만듭니다. 하지만 내 코드에 문제가있다. (또는 컴파일러에 문제가있을 수있다.) 처음에는 잘못된 공식을 사용하고 있다고 생각했습니다. 그러나 변수를 표시하여 저장되는 입력을 검사하면 입력의 한 자리 만 표시됩니다. 그것은, 내 위의 예와입력이 변수에 올바르게 저장되지 않음
01 CELSIUS PIC S9(2)V99.
예를 들어 .. 내 입력 15 살, 그것은 단지 .. '1'소요 또는의 45을 가정 해 봅시다, 그것은 단지 내가 이런 식으로 입력을 선언 .. '4'소요 나에게 준다 : 01.00 또는 04.00 도와주세요.
IDENTIFICATION DIVISION. ------------------
PROGRAM-ID. temp.
ENVIRONMENT DIVISION. ------------------
CONFIGURATION SECTION.
*-----------------------
INPUT-OUTPUT SECTION. *-----------------------
DATA DIVISION. ------------------
FILE SECTION. *-----------------------
WORKING-STORAGE SECTION.
01 TEMP-CELSIUS PIC S9(2)V99.
01 CELSIUS-RESULT PIC +ZZ9.99.
01 TEMP-KELVIN PIC S9(2)V99.
01 KELVIN-RESULT PIC +ZZ9.99.
01 VAR-OPTION PIC X.
01 X PIC S9(5)V99.
*-----------------------
PROCEDURE DIVISION.
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
MAIN-PROCEDURE.
**
* The main procedure of the program
**
DISPLAY 'OPTION 1: CELSIUS TO KELVIN'
DISPLAY 'OPTION 2: KELVIN TO CELSIUS'
DISPLAY 'ENTER YOUR OPTION: '
ACCEPT VAR-OPTION
MOVE +273.15 TO X
IF VAR-OPTION = '1'
DISPLAY 'ENTER CELSIUS: '
ACCEPT TEMP-CELSIUS
DISPLAY TEMP-CELSIUS
ADD X TEMP-CELSIUS GIVING KELVIN-RESULT
DISPLAY KELVIN-RESULT
ELSE
IF VAR-OPTION = '2'
DISPLAY 'ENTER KELVIN: '
ACCEPT TEMP-KELVIN
DISPLAY TEMP-KELVIN
SUBTRACT X FROM TEMP-KELVIN GIVING CELSIUS-RESULT
DISPLAY CELSIUS-RESULT
END-IF
STOP RUN.
** add other procedures here
END PROGRAM temp.
코드를 표시하지 않을 때 사람들이 어떻게 코드를 디버깅 할 것으로 예상합니까? 이러한 문제를 일으키는 _exact_ 코드를 게시하여 재현 할 수 있도록해야합니다. – csmckelvey
어떤 컴파일러를 사용하고 있는지 알고 있어야합니다 (OS가 유용 할 수도 있음). –