cobol calculator
Posted: Mon Oct 25, 2010 10:03 am
hi,i am trying to build a calculator in cobol. It compiled succesfully and ran also. but when i am trying to get output by supplying sysin parameters it is showing all variable output as 00000.can you please review and give comments for correction. Thanks.
000100 IDENTIFICATION DIVISION. 00010000
000200 PROGRAM-ID. CALC. 00020000
000300 ENVIRONMENT DIVISION. 00030000
000400 DATA DIVISION. 00040001
000500 WORKING-STORAGE SECTION. 00050003
000600 01 A PIC 9(2) VALUE 6. 00060006
000700 01 B PIC 9(2) VALUE 2. 00070006
000800 01 RESULT PIC 9(5) VALUE ZEROS. 00080006
000810 01 KEYPRESS PIC X. 00081002
000900 PROCEDURE DIVISION. 00090002
000901 ACCEPT A FROM SYSIN 00090106
000902 ACCEPT KEYPRESS FROM SYSIN 00090206
000903 ACCEPT B FROM SYSIN 00090306
000910 IF KEYPRESS = "+" THEN 00091002
001000 COMPUTE RESULT = A + B. 00100002
001100 DISPLAY 'SUMMATION IS ' RESULT. 00110012
001110 IF KEYPRESS = "-" THEN 00111002
001200 COMPUTE RESULT = A - B. 00120002
001300 DISPLAY 'SUBSTRACTION IS ' RESULT. 00130012
001310 IF KEYPRESS = "*" THEN 00131002
001400 COMPUTE RESULT = A * B. 00140002
001500 DISPLAY 'MULTIPLICATION IS ' RESULT. 00150012
001510 IF KEYPRESS = "/" THEN 00151002
001600 COMPUTE RESULT = A / B. 00160002
001700 DISPLAY 'DIVISION IS ' RESULT. 00170012
001710 IF KEYPRESS = "%" THEN 00171010
001800 COMPUTE RESULT = FUNCTION MOD(A, B). 00180010
001900 DISPLAY 'MODULUS IS ' RESULT. 00190012
002000 STOP RUN. 00200002
000200 PROGRAM-ID. CALC. 00020000
000300 ENVIRONMENT DIVISION. 00030000
000400 DATA DIVISION. 00040001
000500 WORKING-STORAGE SECTION. 00050003
000600 01 A PIC 9(2) VALUE 6. 00060006
000700 01 B PIC 9(2) VALUE 2. 00070006
000800 01 RESULT PIC 9(5) VALUE ZEROS. 00080006
000810 01 KEYPRESS PIC X. 00081002
000900 PROCEDURE DIVISION. 00090002
000901 ACCEPT A FROM SYSIN 00090106
000902 ACCEPT KEYPRESS FROM SYSIN 00090206
000903 ACCEPT B FROM SYSIN 00090306
000910 IF KEYPRESS = "+" THEN 00091002
001000 COMPUTE RESULT = A + B. 00100002
001100 DISPLAY 'SUMMATION IS ' RESULT. 00110012
001110 IF KEYPRESS = "-" THEN 00111002
001200 COMPUTE RESULT = A - B. 00120002
001300 DISPLAY 'SUBSTRACTION IS ' RESULT. 00130012
001310 IF KEYPRESS = "*" THEN 00131002
001400 COMPUTE RESULT = A * B. 00140002
001500 DISPLAY 'MULTIPLICATION IS ' RESULT. 00150012
001510 IF KEYPRESS = "/" THEN 00151002
001600 COMPUTE RESULT = A / B. 00160002
001700 DISPLAY 'DIVISION IS ' RESULT. 00170012
001710 IF KEYPRESS = "%" THEN 00171010
001800 COMPUTE RESULT = FUNCTION MOD(A, B). 00180010
001900 DISPLAY 'MODULUS IS ' RESULT. 00190012
002000 STOP RUN. 00200002