*PROGRAM FOR DATABASE USING RELATIVE FILE STRUCTURE. *RELATIVE KEY IS ROLL.NO. *NOTE:-WE CANNOT MODIFY THE RELATIVE KEY WHILE MODIFYING THE RECORD. IDENTIFICATION DIVISION. PROGRAM-ID. RELATIVE-FILES. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL SELECT REL-RECORD ASSIGN TO DISK ORGANIZATION IS RELATIVE RELATIVE KEY IS ROLL ACCESS MODE IS DYNAMIC. DATA DIVISION. FILE SECTION. FD REL-RECORD LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "REL.DAT". 01 REL-STUD-RECORD. 02 NAME PIC X(20). 02 ROLL PIC 999. 02 SCIENCE PIC 999. 02 MATHS PIC 999. 02 APTITUDE PIC 9(3). 02 PRESENSE PIC X. 02 TOTAL PIC 9(5). 02 PERCENTAGE PIC 9(3)V99. WORKING-STORAGE SECTION. 01 DUMMY PIC X. 01 CHOICE PIC 9. 01 THE-KEY PIC 9(3). 01 FILE-END PIC X. 01 PROMPT1 PIC X(80) VALUE ALL "-". 01 PROMPT2 PIC X(10) VALUE "NAME:-". 01 PROMPT3 PIC X(10) VALUE "ROLL:-". 01 PROMPT4 PIC X(20) VALUE " MARKS....". 01 PROMPT5 PIC X(10) VALUE "MATHS:-". 01 PROMPT6 PIC X(10) VALUE "SCIENCE:-". 01 PROMPT7 PIC X(10) VALUE "APTITUDE:-". 01 PROMPT8 PIC X(10) VALUE "TOTAL:-". 01 PROMPT9 PIC X(20) VALUE "PERCENTAGE:-". 01 PROMPT0 PIC X(80) VALUE ALL "-". 01 D-NAME PIC X(20). 01 D-ROLL PIC 9(3). 01 D-MATHS PIC 9(3). 01 D-SCIENCE PIC 9(3). 01 D-APTITUDE PIC 9(3). 01 D-TOTAL PIC 9(5). 01 D-PERCENTAGE PIC 9(3)V99. PROCEDURE DIVISION PROGRAM-BEGIN. PERFORM MENU. PERFORM SWITCH. GO TO TO-CONTINUE. PROGRAM-DONE. STOP RUN. MENU. DISPLAY (5, 20) "ENTER ONE OF THE CHOICE FROM BELOW.". DISPLAY (6, 20) "1)ADD RECORD". DISPLAY (7, 20) "2)DISPLAY RECORD". DISPLAY (8, 20) "3)MODIFY RECORD". DISPLAY (9, 20) "4)DELETE RECORD". DISPLAY (10, 20) "5)EXIT". ACCEPT CHOICE. SWITCH. IF CHOICE = 1 PERFORM ADD-RECORD ELSE IF CHOICE = 2 PERFORM ACCEPT-KEY ELSE IF CHOICE = 3 PERFORM MODIFY-RECORD ELSE IF CHOICE = 4 PERFORM DELETE-RECORD. ADD-RECORD. OPEN OUTPUT REL-RECORD. DISPLAY (1, 1) ERASE. DISPLAY (5, 10) "ENTER THE FOLLOWING DATA". DISPLAY (6, 10) PROMPT2. ACCEPT NAME. DISPLAY (7, 10) PROMPT3. ACCEPT ROLL. DISPLAY (8, 10) PROMPT4. DISPLAY (9, 10) PROMPT5. ACCEPT MATHS. DISPLAY (10, 10) PROMPT6. ACCEPT SCIENCE. DISPLAY (11, 10) PROMPT7. ACCEPT APTITUDE. ADD MATHS SCIENCE APTITUDE GIVING TOTAL. DIVIDE 3 INTO TOTAL GIVING PERCENTAGE. DISPLAY (12, 10) PROMPT8 TOTAL. DISPLAY (13, 10) PROMPT9 PERCENTAGE. WRITE REL-STUD-RECORD. CLOSE REL-RECORD. ACCEPT-KEY. OPEN INPUT REL-RECORD. DISPLAY (1, 1) ERASE. DISPLAY (5, 10) PROMPT3. ACCEPT THE-KEY. MOVE THE-KEY TO ROLL. PERFORM DISPLAY-RECORD. DISPLAY-RECORD. PERFORM READ-RECORD. PERFORM DISPLAY-THE-RECORD. DISPLAY-THE-RECORD. IF FILE-END = "Y" DISPLAY "RECORD NOT FOUND" ELSE DISPLAY (1, 1) ERASE PERFORM THEN-DISPLAY. READ-RECORD. OPEN INPUT REL-RECORD. MOVE "N" TO FILE-END. READ REL-RECORD INVALID KEY MOVE "Y" TO FILE-END. GO TO DISPLAY-THE-RECORD. MOVE NAME TO D-NAME. MOVE ROLL TO D-ROLL. MOVE MATHS TO D-MATHS. MOVE SCIENCE TO D-SCIENCE. MOVE APTITUDE TO D-APTITUDE. MOVE TOTAL TO D-TOTAL. MOVE PERCENTAGE TO D-PERCENTAGE. CLOSE REL-RECORD. MODIFY-RECORD. PERFORM ACCEPT-KEY. DISPLAY (15, 10) "MODIFY THIS RECORD (Y/N) ". ACCEPT DUMMY. IF DUMMY EQUAL TO "Y" PERFORM DO-MODIFY. DO-MODIFY. DISPLAY (1, 1) ERASE. OPEN OUTPUT REL-RECORD. DISPLAY (5, 10) "ENTER THE FOLLOWING DATA". DISPLAY (6, 10) PROMPT2. ACCEPT NAME. DISPLAY (6, 10) PROMPT3. ACCEPT ROLL. DISPLAY (7, 10) PROMPT4. DISPLAY (8, 10) PROMPT5. ACCEPT MATHS. DISPLAY (9, 10) PROMPT6. ACCEPT SCIENCE. DISPLAY (10, 10) PROMPT7. ACCEPT APTITUDE. ADD MATHS SCIENCE APTITUDE GIVING TOTAL. DIVIDE 3 INTO TOTAL GIVING PERCENTAGE. DISPLAY (11, 10) PROMPT8 TOTAL. DISPLAY (12, 10) PROMPT9 PERCENTAGE. REWRITE REL-STUD-RECORD. CLOSE REL-RECORD. THEN-DISPLAY. DISPLAY (1, 1) ERASE. DISPLAY (5, 10) PROMPT2 D-NAME. DISPLAY (6, 10) PROMPT3 D-ROLL. DISPLAY (7, 10) PROMPT4 . DISPLAY (8, 10) PROMPT5 D-MATHS. DISPLAY (9, 10) PROMPT6 D-SCIENCE. DISPLAY (10, 10) PROMPT7 D-APTITUDE. DISPLAY (11, 10) PROMPT8 D-TOTAL. DISPLAY (12, 10) PROMPT9 D-PERCENTAGE. DELETE-RECORD. PERFORM ACCEPT-KEY. DISPLAY (1, 1) ERASE. DISPLAY (2, 10) "DELETE THIS RECORD ?(Y/N):". ACCEPT DUMMY. IF DUMMY = "Y" PERFORM DELETE-THIS-RECORD. DELETE-THIS-RECORD. OPEN OUTPUT REL-RECORD. DELETE REL-RECORD RECORD. CLOSE REL-RECORD. DISPLAY (5, 10) "THE RECORD HAS BEEEN DELETED". TO-CONTINUE. DISPLAY (1, 1) ERASE. DISPLAY (5, 10) "DO YOU WANT TO CONTINUE ? (Y/N)". ACCEPT DUMMY. IF DUMMY = "Y" GO TO PROGRAM-BEGIN ELSE GO TO PROGRAM-DONE.