cobol语言编程,帮我写一个完整的程序,谢谢

cobol语言编程,帮我写一个完整的程序,谢谢,第1张

刚刚写完,经过测试 没有问题

===============================

000010 IDENTIFICATION DIVISION

000020 PROGRAM-ID TEST

000030 ENVIRONMENT DIVISION

000040 CONFIGURATION SECTION

000050 INPUT-OUTPUT SECTION

000060 FILE-CONTROL

000070 SELECT OPTIONAL I-FILE ASSIGN TO 'd:\STXXXINFILE'

000080 ORGANIZATION IS LINE SEQUENTIAL

000090 SELECT OPTIONAL O-FILE ASSIGN TO 'd:\STXXXOUTFILE'

000100 ORGANIZATION IS LINE SEQUENTIAL

000110

000120 DATA DIVISION

000130 FILE SECTION

000140 FD I-FILE

000150 01 IN-RECORD

000160 03 I-NUM PIC X(6)

000170 03 I-NM PIC X(10)

000180 03 I-GRADE-AREA OCCURS 3 TIMES

000190 05 I-GRADE PIC 9(2)V99

000200 FD O-FILE

000210 01 OT-RECORD PIC X(51)

000220 WORKING-STORAGE SECTION

000230 01 HEAD

000240 03 FILLER PIC X(10) VALUE "学生编号 "

000250 03 FILLER PIC X(12) VALUE "姓名 "

000260 03 FILLER PIC X(7) VALUE "成绩1 "

000270 03 FILLER PIC X(7) VALUE "成绩2 "

000280 03 FILLER PIC X(7) VALUE "成绩3 "

000290 03 FILLER PIC X(8) VALUE "平均成绩"

000300 01 OT-REC

000310 03 O-NUM PIC X(6)

000320 03 FILLER PIC X(4)

000330 03 O-NM PIC X(10)

000340 03 O-GRADE-AREA OCCURS 4 TIMES

000350 05 FILLER PIC X(2)

000360 05 O-GRADE PIC 9(2)99

000370 01 SUM-NUM PIC 9(3)V99

000380 01 EVR-NUM PIC 9(3)V99

000390

000400 PROCEDURE DIVISION

000410 OPEN INPUT I-FILE

000420 OPEN OUTPUT O-FILE

000430

000440 MOVE HEAD TO OT-RECORD

000450 WRITE OT-RECORD

000460

000470 READ-010

000480 READ I-FILE

000490 AT END GO TO EXIT-PERFORM

000500 MOVE SPACE TO OT-REC

000510 INITIALIZE OT-REC

000520 MOVE I-NUM TO O-NUM

000530 MOVE I-NM TO O-NM

000540 MOVE I-GRADE(1) TO O-GRADE(1)

000550 MOVE I-GRADE(2) TO O-GRADE(2)

000560 MOVE I-GRADE(3) TO O-GRADE(3)

000570 COMPUTE SUM-NUM = I-GRADE(1)

000580 + I-GRADE(2)

000590 + I-GRADE(3)

000600 COMPUTE EVR-NUM = SUM-NUM

000610 / 3

000620 MOVE EVR-NUM TO O-GRADE(4)

000630 MOVE OT-REC TO OT-RECORD

000640

000650 WRITE OT-RECORD

000660

000670 GO TO READ-010

000680

000690 EXIT-PERFORM

000700 CLOSE I-FILE

000710 CLOSE O-FILE

000720 STOP RUN

我只知道在大型机下:

这个语句是在COBOL中用FILE1这个名称来和外部文件名连接起来。比如:

select file1 assign to ddname

COBOL中用FD来描述file1:

FD FILE1

01 A PIC X(80)

然后在JCL中指定ddname描述的是哪个文件:

//ddname dd dsn=abc,disp=shr

整个连起来,意思就是COBOL中file1指的就是abc这个DATASET。

通俗地说,楼主的问题中,就是DATABASE-FILE1所指定的外部文件在COBOL中使用时,它用FILE1这个名称来表示。

不知道我回答的对不对题,对楼主有没有帮助?

cobol即Common Business-Oriented Language ,是一种面向过程的高级程序语言,为专门解决经企管理问题,美国的一些计算机用户于1959年组织设计了专用于商务处理的计算机语言COBOL,并于1961年美国数据系统语言协会公布。经不断修改、丰富完善和标准化,目前COBOL已发展为多种版本。

重复——一种重要的程序结构。当我们需要将相同的代码执行多次的时候使用重复

大多数程序设计语言有很多种关于重复的关键字( eg WHILE, FOR, REPEAT ),以便创建不同类型的重复结构(do…while, for(,,), repeat…until,…)

COBOL 只有一种重复结构; PERFORM

PERFORM 有不同的变体

每种变体和其他语言中不同的重复结构作用类似

不知道你是再IBM主机上开发的还是再windows 下开发呢?

1如果是再主机上开发的,那么你说的应该是要写一个online 程序。

可以在调起transaction的时候用receive 语句从CICS 接收画面上输入的字符,处理之后用 send 语句送到画面上。

至于怎么处理这些字符有好多种方法。

比如可以定义一个数组:

01 ARRAY OCCURS 100 TIMES

05 WK-CHAR PIC X

05 WK-NUM PIC 9(2)

01 TOT-CHAR-NM PIC 9(2)

然后依次检查每一个字符,遇到一样的就放到数组WK-CHAR(N) 里面,并累加个数WK-NUM(N)

以上就是关于cobol语言编程,帮我写一个完整的程序,谢谢全部的内容,包括:cobol语言编程,帮我写一个完整的程序,谢谢、cobol程序中涉及的输入输出文件、cobol是一种怎样的语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9749492.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存