刚刚写完,经过测试 没有问题
===============================
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是一种怎样的语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)