IDENTIFICATION DIVISION.
PROGRAM-ID FACTFIND-MAIN.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 N PIC 99.
77 FACT PIC 9(6).
77 EDFACT PIC Z(5)9.
PROCEDURE DIVISION.
MAIN-PARA.
DISPLAY "Enter a number : ".
ACCEPT N.
CALL "PRO0102.COB" USING N FACT.
MOVE FACT TO EDFACT.
DISPLAY "Factorial of " N "is: " EDFACT.
STOP RUN.
Subroutine with file name PRO0102.COB
IDENTIFICATION DIVISION.
PROGRAM-ID FACTFIND-SUB.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 I PIC 99.
LINKAGE SECTION.
77 N1 PIC 9(2).
77 FACT1 PIC 9(6).
PROCEDURE DIVISION USING N1 FACT1.
MAIN-PARA.
MOVE 1 TO FACT1.
PERFORM FIND VARYING I FROM 2 BY 1 UNTIL I > N1.
EXIT PROGRAM.
FIND.
MULTIPLY I BY FACT1.
PROGRAM-ID FACTFIND-MAIN.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 N PIC 99.
77 FACT PIC 9(6).
77 EDFACT PIC Z(5)9.
PROCEDURE DIVISION.
MAIN-PARA.
DISPLAY "Enter a number : ".
ACCEPT N.
CALL "PRO0102.COB" USING N FACT.
MOVE FACT TO EDFACT.
DISPLAY "Factorial of " N "is: " EDFACT.
STOP RUN.
Subroutine with file name PRO0102.COB
IDENTIFICATION DIVISION.
PROGRAM-ID FACTFIND-SUB.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 I PIC 99.
LINKAGE SECTION.
77 N1 PIC 9(2).
77 FACT1 PIC 9(6).
PROCEDURE DIVISION USING N1 FACT1.
MAIN-PARA.
MOVE 1 TO FACT1.
PERFORM FIND VARYING I FROM 2 BY 1 UNTIL I > N1.
EXIT PROGRAM.
FIND.
MULTIPLY I BY FACT1.
Thank you so much :) !
ReplyDeleteafter executing i obtain it as cannot find module(subprogram name)
ReplyDelete