所以,我正在研究Cobol和qhen我尝试构建我的代码,我收到以下错误:
soma.cob:8:错误:级别编号'linkage-section'无效
文件soma.cob,是:
IDENTIFICATION DIVISION.
PROGRAM-ID. SOMA.
data division.
working-storage section.
77 RESPT PIC 9(2) VALUE ZEROS.
linkage-section.
01 CAMP1 PIC 9(2).
01 CAMP2 PIC 9(2).
PROCEDURE DIVISION USING CAMP1 CAMP2.
COMPUTE RESPT = CAMP1+CAMP2.
DISPLAY RESPT.
Run Code Online (Sandbox Code Playgroud)
那么,问题出在哪里????
这是我的代码,其中iIam使用OCCURS声明变量.
IDENTIFICATION DIVISION.
PROGRAM-ID. ARRAYEX.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT StudentFile ASSIGN TO "STUDENTS.DAT"
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-FIRSTARR OCCURS 10 TIMES PIC 9(5).
PROCEDURE DIVISION.
DISPLAY "HELLO WORLD".
STOP RUN.
Run Code Online (Sandbox Code Playgroud)
错误:
arrayex.cbl:12:错误:级别77项"WS-FIRSTARR"不能有OCCURS子句
编译失败的原因是什么?
我正在尝试打开一个索引的文件,但不断收到以下错误.从我能找到的所有COBOL代码示例中,我无法看到我的错误在哪里.
我能够按顺序打开文件就好了.它似乎是试图打开索引的东西.
错误:
project2.cbl:119: libcob: Permanent file error (STATUS = 30) File : 'customers.dat'
Run Code Online (Sandbox Code Playgroud)
系统:
OS X
GnuCOBOL
OpenCobolIDE
Version: 4.7.3
Run Code Online (Sandbox Code Playgroud)
码:
IDENTIFICATION DIVISION.
PROGRAM-ID. PROJECT-2.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT CUST-FILE ASSIGN TO "customers.dat"
ORGANIZATION IS INDEXED
ACCESS IS RANDOM
RECORD KEY IS CUST-ID.
SELECT INV-FILE ASSIGN TO "inventory.dat"
ORGANIZATION IS INDEXED
ACCESS IS RANDOM
RECORD KEY IS ITEM-ID.
SELECT TRANS-FILE ASSIGN TO "transactions.dat"
ORGANIZATION IS LINE SEQUENTIAL.
SELECT SORTED-TRANS-FILE ASSIGN TO "sorted-transactions.dat"
ORGANIZATION IS LINE SEQUENTIAL.
SELECT …Run Code Online (Sandbox Code Playgroud) 根据我UNSTRING的使用理解,如果在使用中ON OVERFLOW [INSTRUCTION]会出现溢出,则使用会很有用UNSTRING.
但如果没有溢出,你为什么要使用NOT ON OVERFLOW [INSTRUCTION]?
唯一可行的实用程序NOT ON OVERFLOW [INSTRUCTION]是在没有溢出的情况下传递指令,但如果已经有了预期的结果,那将会使用什么UNSTRING?
在这个例子中是否有任何具体的例子如何有用:
IDENTIFICATION DIVISION.
PROGRAM-ID. YOUR-PROGRAM-NAME.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 WS-VAR1 PIC A(11) VALUE "Hello World".
01 WS-VAR2 PIC A(5).
01 WS-VAR3 PIC A(5).
01 WS-COMPTEUR PIC 9 VALUE 2.
PROCEDURE DIVISION.
MAIN-PROCEDURE.
INTO WS-VAR2 WS-VAR3
WITH POINTER WS-COMPTEUR
ON OVERFLOW DISPLAY "This string is too large"
END-UNSTRING.
DISPLAY WS-VAR2
DISPLAY WS-VAR3.
STOP RUN.
END …Run Code Online (Sandbox Code Playgroud) 我正在尝试将当前控制台显示输出到TFileOut.da文件。但是,当我尝试写一条记录时,所有数据都输出到同一行。
PROGRAM-ID. TFile.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT myInFile ASSIGN TO "TestFile.dat".
SELECT myOutFile ASSIGN TO "TFileOut.dat".
DATA DIVISION.
FILE SECTION.
FD myInFile.
01 inRecord.
02 StudentName PIC X(15).
02 StudentWNbr PIC X(8).
02 Years PIC X(9).
02 Course PIC X(9).
02 CourseD PIC X(28).
02 Grade PIC X(1).
02 CreditHr PIC 9.
02 FILLER PIC X(1).
FD myOutFile.
01 studentOutRecord.
02 DatFile PIC X(10).
WORKING-STORAGE SECTION.
01 w PIC X(3) VALUE "YES".
01 stor PIC X(9).
PROCEDURE DIVISION. …Run Code Online (Sandbox Code Playgroud) 我在 cobol 中的语法有问题。我在 Ubuntu 4.2.0-16-generic 上使用 open-cobol 包,但出现错误:
~/cobol$ cobc -free -x -o cal cal.cbl
cal.cbl:6: Error: syntax error, unexpected $undefined, expecting "end of file"
Run Code Online (Sandbox Code Playgroud)
我的 cal.cbl 文件:
IDENTIFICATION DIVISION.
PROGRAM-ID. cal.
ENVIRONMENT DIVISION.
DATA DIVISION.
?? OPTION PIC 9 VALUE ZERO.
?? NUM1 PIC 9(5)V9(2) VALUE ZERO.
?? NUM2 PIC 9(5)V9(2) VALUE ZERO.
?? RESULT PIC 9(10)V9(2) VALUE ZERO.
PROCEDURE DIVISION.
ACCEPT OPTION.
DISPLAY "INSERT FIRST OPTION".
ACCEPT NUM1.
DISPLAY "INSERT SECOND OPTION".
ACCEPT NUM2.
STOP RUN.
Run Code Online (Sandbox Code Playgroud)
我是 cobolt …
安装了 GnuCOBOL 版本3.0-rc1.0以尝试最近添加的 Report Writer。试图在 Michael Coughlan 的 Beginning COBOL for Programmers 的第 18 章中编译第一个列表[PIC X(52) 是我对书中太小的 PIC X(51) 的修复]抛出错误:
Listing18-1.cbl:99: error: syntax error, unexpected IS, expecting LEADING or TRAILING
Listing18-1.cbl:99: error: PROCEDURE DIVISION header missing
Listing18-1.cbl:99: error: syntax error, unexpected .
Listing18-1.cbl:100: error: unknown statement '03'
Listing18-1.cbl:101: error: unknown statement '03'
Listing18-1.cbl:102: error: unknown statement '03'
Listing18-1.cbl:104: error: unknown statement '02'
Listing18-1.cbl:105: error: unknown statement '03'
Listing18-1.cbl:106: error: unknown statement '03'
Listing18-1.cbl:107: error: unknown statement …Run Code Online (Sandbox Code Playgroud)