高分求一个cobol的读写程序

2024-12-14 13:45:33
推荐回答(3个)
回答1:

因为你没有说具体的数据,我就只是假定了是一个普通文件,里面的记录有两个项一个为ID,一个为NAME.输入文件放在名为S-SYSIN,(dasd)的磁盘文件里,而输出到名为S-SYSOUT的磁盘(dasd)文件里。

编写了一个程序,编译通过了,但是没有具体的数据,就没有真的运行。

赚点分数不容易啊。

        IDENTIFICATION DIVISION.                   

        PROGRAM-ID.  FILE-READ-WRITE.              

        ENVIRONMENT    DIVISION.                   

       IDENTIFICATION DIVISION.                   

        PROGRAM-ID.  FILE-READ-WRITE.              

        ENVIRONMENT    DIVISION.                   

        INPUT-OUTPUT   SECTION.                    

        FILE-CONTROL.                              

            SELECT  IN-FILE  ASSIGN TO  S-SYSIN.   

            SELECT  OUT-FILE ASSIGN TO  S-SYSOUT.  

        DATA           DIVISION.                   

        FILE           SECTION.                    

        FD    IN-FILE                              

              LABEL   RECORD    IS  STANDARD.      

        01    IN-RECORD.                           

            05  IN-ID      PIC   9(11).            

            05  IN-NAME    PIC   X(20).            

        FD    OUT-FILE                             

              LABEL   RECORD    IS  STANDARD.      

        01    OUT-RECORD.   

           05  OUT-ID     PIC   9(11).             

    

           05  OUT-NAME   PIC   X(20).             

    

       WORKING-STORAGE      SECTION.               

       01      EOF-FLAG           PIC    X  VALUE  'N'.

       PROCEDURE       DIVISION.                   

    

           OPEN   INPUT   IN-FILE                  

    

                  OUTPUT  OUT-FILE.                

            

           PERFORM    100-WRITE-RECORDS

           

                   UNITL   FOF-FLAG = 'Y'.   

 

           CLOSE      IN-FILE                      

    

                      OUT-FILE.                    

    

           STOP RUN.                               

    

       100-WRITE-RECORDS.                          

               READ   IN-FILE                      

        

                  AT  END   MOVE 'Y' TO EOF-FLAG  

               END-READ.                           

        

               MOVE IN-ID   TO OUT-ID              

    

               MOVE IN-NAME TO OUT-NAME            

    

               WRITE  OUT-RECORD.                  

                                                          

本来我截图两张的,但是第二章不知道怎么传上来了。就这样吧。

回答2:

你加偶qq的话,偶可以教你,哈哈
因为你这个标题太笼统了,不晓得具体是检索什么数据

回答3:

要是这个sysin是普通文件,就只需要写一个PERFORM循环,通过条件判断输出到另一个文件就好了。
如果这个sysin是放在数据库中的,就需要定义一个游标来处理了,处理方法和文件一样。