编译语言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",控制台没有发送消息"您的姓名:Albert"背部。控制台是在" Albert"空。 但是,如果我将字符串名称的长度设置为6,因为我的名字长度为6个字符,那么程序正常工作,控制台显示"你的名字:Albert"。
除此之外,with no advancing
条款无法正常运作。
当我使用此命令时,控制台不会打印"你的名字是什么?",它会跳过该行,我必须先输入我的名字,输入我的名字后,控制台会显示:&# 34;你的名字是什么?:艾伯特"。但是在编译程序的.exe中,命令行with no advancing
可以正常工作。
为什么会如此,以及如何修复它?
答案 0 :(得分:3)
看起来你使用嵌入式python控制台OCIDE用于更好的集成。副作用是:它没有完全发挥作用,一旦你开始使用非常简单的ACCEPT
/ DISPLAY
以外的任何东西,你应该禁用它:
偏好(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,因为更新后它可以正常工作!