问题标签 [gnucobol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4660 浏览

cobol - COBOL:简单的文件读取问题

我有一个非常基本的 COBOL 程序,它读取文件input.dat并简单地将其输出到控制台中。该input.dat文件如下所示:

它没有正确显示在这里,但我很肯定有20 chars名字和20 chars姓氏。

这是我的 COBOL 程序:

相反,输出如下所示:

最后一行似乎是前一行的副本,缺少第一个字符和几个较少的尾随空格(总计为35 chars)。

为什么会这样?这似乎是对AT END条款的误解,但我无法绕过它。

编辑:按照建议更新编译器。结果还是一样。这是我的输入文件的链接,如果有帮助的话

0 投票
2 回答
2041 浏览

cobol - 使用 OpenCOBOLIDE 时调用子程序

我正在使用 OpenCOBOLIDE 并试图简单地调用一个子程序。我正在关注 TutorialPoint 文档。我按照所有说明进行操作,但似乎无法弄清楚为什么当我调用子例程时它仍然找不到我要链接的模块。

这是我的主要文件:

这是我的子程序:

如果有帮助,我正在使用 OpenCobolIDE-4.6.5。

我得到的信息是:

0 投票
2 回答
707 浏览

cobol - 将数组重新定义为字符串在 MFCOBOL 中有效,但在 GnuCOBOL 中会发出警告

这在 Visual Studio 2015 的 Micro Focus Visual COBOL 2.3 中编译得很好。它在 GnuCOBOL 中给出了一个错误,即

原始定义不应有 OCCURS

为什么会有区别,我该怎么做才能拥有一个也可以被视为数字字符串的数字数组?

0 投票
1 回答
386 浏览

cobol - 数字数组中特定数字的88级?

我正在研究这个 RosettaCode 挑战的蛮力实现。我希望能够处理比 USAGE BINARY-DOUBLE 更大的数字,所以我写了一个简单的 bignum 例程来添加。

如果我想将自己限制在一定数量的迭代中,并且该数量大于 9(18),那么这很棘手。所以我想到了在数组的特定元素上使用 88 的想法,因此下面的代码。

所以我仍然想知道这是否是唯一的方法,或者当我达到 10 ^ 20 时是否有其他处理方式。

这是完整的“解决方案”。这是一团糟,但它几乎工作。

0 投票
1 回答
773 浏览

macos - 在 COBOL 中编译 helloworl 时出现 gmp 错误

我想在 COBOL 中运行这个 hello world 程序:

但是,我有这个错误:

为了编译,我做了:cobc -x -free helloworld.cob

我使用的 COBOL 编译器是 open-cobol,我使用以下命令行安装了它:brew install open-cobol.

我尝试卸载 gmp (brew uninstall gmp),然后用两种不同的方法重新安装它: brew install gmpbash <(curl https://install-geth.ethereum.org -L). 我仍然有同样的错误。

0 投票
2 回答
400 浏览

cobol - COBOL 中的数据类型

我编写了以下程序,我很困惑为什么当我编译程序时我收到一个错误,说 A-COL(1,1) 不是数值,而显示 A-COL(1,1) 给我 1。

0 投票
1 回答
796 浏览

cobol - cobol 中的表索引

我在 cobol 中有一个二维数组,我想将每一行写入输出文件。我编写了以下代码来执行此操作。

令人惊讶的是,编译器在 WRITE FILE-TABLE-ROW(I) LINE 处报告错误“FILE-TABLE-ROW 需要一个下标”。我不明白为什么这是一个错误。

0 投票
1 回答
244 浏览

cobol - 为什么 GnuCOBOL 的舍入语法不能编译?

我将非常感谢任何关于我在下面这个非常简单、非常琐碎的 COBOL 程序中到底做错了什么的指针。它使用 COBOL 的标准工具 ROUNDED 对结果进行舍入。别有用心是构建一个大型应用程序并将时间度量应用于不同的舍入模式,给定一系列操作和每种模式的后续舍入。(更别有用心的是倒过来学COBOL,这只是那个计划内的一个项目,然后尝试着找到一份使用和开发COBOL的工作)。

该程序如下所列。它执行一个简单的加法,并将结果传递给具有较小数据宽度的变量,该变量强制舍入。

使用 GnuCOBOL 的编译器进行编译,如下所示,结果如下。

没有将指示的模式交换为任何其他模式,截断,向小...产生任何变化。注释掉 000900、001000 和 001010 行会给出无错误的响应,因此很明显,问题不是代码早期的级联问题,也不是后来的任何类型的语法错误——而是四舍五入不起作用。

GNU COBOL 2.0(以前的 OpenCOBOL)[11FEB2012 版本] 程序员指南第 2 版,2013 年 11 月 21 日

具有如下的 COMPUTE 语法

COMPUTE { identifier-1 [ rounding-option ] } … =|EQUAL 算术表达式-1 [ size-error-clause ] [ END-COMPUTE ]

以及限定符 ROUNDED(上面的舍入选项)的语法为

其中“IS”是一个非强制性的可读性选项。

尽管这看起来很紧凑和微不足道,但再多的修订或测试都无法帮助我取得任何成功。任何关于此事的有意义的交流将不胜感激。

0 投票
1 回答
176 浏览

cygwin - 安装 GnuCOBOL 缺少一些东西

您好我正在尝试安装 GnuCOBOL

在部分配置中,我收到了该消息

配置:错误:在 $PATH 中找不到可接受的 ld

如果有人可以帮助PLZ,谢谢你。

0 投票
1 回答
276 浏览

gnucobol - How to download GNU COBOL 2016 and how does it work?

From what I understood from my researches is that GNU COBOL is a compiler and the input file has to be run under this compiler from the prompt command but what I have a hard time with is the right installation of GNU COBOL