gpt4 book ai didi

compiler-errors - 错误: syntax error unexpected '(' i n COBOL

转载 作者:行者123 更新时间:2023-12-02 10:51:57 30 4
gpt4 key购买 nike

我在这个程序中有一些错误。当我编译时,代码显示如下错误

prak.cob: In paragraph 'isi-data-tabel':

prak.cob:34: Error: syntax error, unexpected '('



请检查下面的代码,这是第34行中的错误:

 isi-data-tabel. 
DISPLAY ( , ) 'cabang ', subscript-cabang, bulan ', subscript-bulan, ' : '.
ACCEPT ( , ) jumlah-unit-terjual (subscript-cabang, subscript-bulan).
DISPLAY SPACE.


这个完整的代码
  IDENTIFICATION DIVISION.
PROGRAM-ID. tabel2.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 ws-subscript.
02 subscript-cabang PIC 9.
02 subscript-bulan PIC 9.
01 tabel-penjualan-mobil.
02 cabang OCCURS 4 TIMES.
03 bulan OCCURS 3 TIMES.
04 jumlah-unit-terjual PIC 99.
77 total-penjualan-cabang PIC 99 VALUE 0.
SCREEN SECTION.
01 hapus-layar.
02 BLANK SCREEN.
PROCEDURE DIVISION.

program-utama.
PERFORM entry-tabel.
PERFORM tampilkan-tabel.
STOP RUN.

entry-tabel.
DISPLAY ' Pemasukan data ke dalam tabel dimensi dua: '.
PERFORM isi-data-tabel
VARYING subscript-cabang FROM 1 BY 1
UNTIL subscript-cabang > 4
AFTER subscript-bulan FROM 1 BY 1
UNTIL subscript-bulan > 3.

isi-data-tabel.
DISPLAY ( , ) 'cabang ', subscript-cabang, bulan ', subscript-bulan, ' : '.
ACCEPT ( , ) jumlah-unit-terjual (subscript-cabang, subscript-bulan).
DISPLAY SPACE.

tampilkan-tabel.
DISPLAY hapus-layar.
DISPLAY ' Menampilkan isi tabel berdimensi dua : '.

PERFORM display-data-tabel
VARYING subscript-cabang FROM 1 BY 1
UNTIL subscript-cabang > 4
AFTER subscript-bulan FROM 1 BY 1
UNTIL subscript-bulan > 3.

display-data-tabel.
DISPLAY ( , ) 'cabang ', subscript-cabang,
'bulan ', subscript-bulan, ' : ',
jumlah-unit-terjual (subscript-cabang, subscript-bulan).
DISPLAY SPACE.
ADD jumlah-unit-terjual (subscript-cabang, subscript-bulan)
TO total-penjualan-cabang.
IF (subscript-bulan = 3)
DISPLAY '*** Total penjualan per cabang = ', total-penjualan-cabang.

MOVE 0 TO total-penjualan-cabang.

我在Mac环境中使用OpenCOBOL 1.1.0作为编译器。

最佳答案

我不知道您会怎么做,或者您的特定COBOL是否支持类似的功能,但我从来没有遇到过DISPLAY或ACCEPT中的“(,)”。

如果删除这些错误,则将修复该特定类型的错误。

您应该更新您的问题,以包括编译器名称或供应商,以及一个Tag(如果有)。

您在display-data-tabel中也有问题。您正在添加总计,但是在测试是否要显示总计之后,将无条件将其设置为零。在IF内,MOVE 0应该是有条件的。大概。

如果使用范围限定符(例如END-IF)而不是句号/句号,则会得到更好的程序。

为了响应您的更多信息,您在DISPLAY中确实还有另一个问题:

DISPLAY ( , ) 'cabang ', subscript-cabang, bulan ', subscript-bulan, ' : '.

如果您将双引号(')计数,则会发现五个。他们应该永远是偶数。看起来您想要这样:
DISPLAY 'cabang ', subscript-cabang, ' bulan ', subscript-bulan, ' : '.

甚至这个:
DISPLAY 'cabang ', subscript-cabang, ' bulan ', subscript-bulan, ' : '

甚至这个:
DISPLAY 'cabang ' subscript-cabang ' bulan ' subscript-bulan ' : '

所有这些标点都是可选的。意味着您不需要它。意味着如果您放进去,就会更多地出错,更多地关注,更多地想知道。它没有任何危害,但是看起来最后一个“清洁”了多少。

更进一步,这是我的方法:
DISPLAY 
'cabang'
'>'
subscript-cabang
'<'
'bulan'
'>'
subscript-bulan
'<'

当我想显示时,只需粘贴任何旧的DISPLAY语句并更改文字和数据名称,并在必要时扩展数字。 “>”和“<”的意思是确切显示哪些字节是数据的一部分(例如,您可以选择尾随空格)。这些年来为我节省了很多时间。

关于compiler-errors - 错误: syntax error unexpected '(' i n COBOL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19683680/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com