2016-10-15 10 views
3

프로그래밍 언어 COBOL의 컴파일러에 문제가 있습니다. "OpenCobolIDE"(GnuCOBOL 1.1 Mingw) 프로그램을 사용합니다.입력 한 데이터가 올바르게 저장되지 않았습니다.

다음은 예제 프로그램의 코드입니다. 내 이름을 입력 한 후

IDENTIFICATION DIVISION. 
    PROGRAM-ID. HelloWorld. 
    DATA DIVISION. 
    FILE SECTION. 
    WORKING-STORAGE SECTION. 
    01 name   pic x(32). 
    PROCEDURE DIVISION. 
    beginn section. 
     DISPLAY "What is your Name?: " with no advancing. 
     accept name. 
     DISPLAY "Your Name: ",name . 
     STOP RUN. 
    END PROGRAM HelloWorld. 

는 "알버트는"콘솔은 "당신의 이름 : 알버트"메시지를 전송하지 않습니다 다시. 콘솔은 "Albert"가 비어있는 상태입니다. 그러나 문자열 이름의 길이를 6으로 설정하면 내 이름이 6 자이기 때문에 프로그램이 올바르게 작동하고 콘솔에 "Your Name : Albert"가 표시됩니다.

이 외에도 with no advancing 절은 올바르게 작동하지 않습니다. 이 명령을 사용하면 콘솔에 "이름이 무엇입니까?"라는 문구가 인쇄되지 않고 줄을 건너 뛰고 처음으로 내 이름을 입력하고 콘솔에 내 이름을 입력 한 후 "이름이 무엇입니까? : 앨버트" . 그러나 컴파일 된 프로그램의 .exe에서는 명령 줄 with no advancing이 올바르게 작동합니다.

왜 그렇게되며, 어떻게 수리 할 수 ​​있습니까?

답변

3

더 나은 통합을 위해 OCIDE가 사용하는 임베디드 비단뱀 콘솔을 사용하는 것처럼 보입니다. 부작용은 완전히 작동하지 않습니다. 매우 단순한 것 이외의 다른 것을 사용하자 마자

환경 설정 (F2) -> 탭 실행 -> "외부에서 실행"을 선택하십시오. 터미널 "

BTW : OpenCOBOL IDE의 Windows 설치는 GnuCOBOL의 최신 공식 MinGW 패키지와 함께 제공됩니다. 현재는 1.1이지만, 은 매우입니다. 곧 GnuCOBOL 2.0 rc2 (또는 최종본)가 될 것이고, 이전 GnuCOBOL 1.1 대신이 것을 사용하는 것이 좋습니다. 비공식적 인 preview version with the rc1을 얻거나 새로운 버전을 계속 튜닝 할 수 있습니다 (OCIDE에 추가 ​​될 가능성이 있습니다).

편집 : 주석에서 발견 : 업데이트 후 제대로 작동하기 때문에

문제는, GnuCOBOL 1.1의 이전 버전이었다!

+0

나는 sooooo를 많이 사랑합니다 !!!!!! – Booster

+1

GnuCOBOL 1.1의 구버전은 문제를 수정 한 후에 문제가 발생했습니다! – Booster

+0

의견에 감사드립니다. 나는 이것을 내 대답에 추가 할 것이다. –

관련 문제