IDENTIFICATION DIVISION. * PROGRAM-ID. DEMO1. AUTHOR. RUSSELL C. BJORK MODIFIED BY IRVIN J. LEVY. INSTALLATION. GORDON CS DEPT. DATE-WRITTEN. 3-DEC-1985 AND MODIFIED ON 14-FEB-1991. DATE-COMPILED. SECURITY. CLASS DEMO. * * THIS PROGRAM READS A FILE CONTAINING STUDENT NAME AND GRADE INFORMATION, * AND PRODUCES A FILE CONTAINING STUDENT NAMES AND GPA'S. INPUT GRADES ARE * EXPRESSED AS NUMERIC VALUES - E.G. A- IS REPRESENTED AS 3V7. * * SAMPLE INPUT LINE: * * EINHAUS, BARBARA 885336640373720 * * SAMPLE OUTPUT LINE: * * 8853366 EINHAUS, BARBARA 3.35 * ENVIRONMENT DIVISION. * CONFIGURATION SECTION. SOURCE-COMPUTER. VAX-11. OBJECT-COMPUTER. VAX-11. * INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT INFILE ASSIGN TO "DEMO1.IN". SELECT OUTFILE ASSIGN TO "DEMO1.OUT". * DATA DIVISION. * FILE SECTION. * FD INFILE LABEL RECORDS ARE STANDARD DATA RECORD IS INREC. 01 INREC. 05 NAME PIC X(30). 05 STUDENT-ID PIC X(7). 05 G1 PIC 9V9. 05 G2 PIC 9V9. 05 G3 PIC 9V9. 05 G4 PIC 9V9. * FD OUTFILE LABEL RECORDS ARE STANDARD DATA RECORD IS OUTREC. 01 OUTREC. 05 STUDENT-ID PIC X(10). 05 NAME PIC X(30). 05 GPA PIC 9.99. * WORKING-STORAGE SECTION. * 77 EOF-SW PIC X VALUE "N". 88 EOF VALUE "Y". 77 GRADE-SUM PIC 99V9. * PROCEDURE DIVISION. * 0000-MAIN. OPEN INPUT INFILE. OPEN OUTPUT OUTFILE. PERFORM 1000-COMPUTE-ONE-STUDENTS-GPA UNTIL EOF. CLOSE INFILE. CLOSE OUTFILE. STOP RUN. * 1000-COMPUTE-ONE-STUDENTS-GPA. READ INFILE AT END MOVE "Y" TO EOF-SW. IF NOT EOF MOVE STUDENT-ID OF INREC TO STUDENT-ID OF OUTREC MOVE NAME OF INREC TO NAME OF OUTREC ADD G1, G2, G3, G4 GIVING GRADE-SUM DIVIDE GRADE-SUM BY 4 GIVING GPA WRITE OUTREC.