Skip to content

Instantly share code, notes, and snippets.

@pdemby
Last active August 29, 2015 14:03
Show Gist options
  • Save pdemby/e34dccddc6b6556fa336 to your computer and use it in GitHub Desktop.
Save pdemby/e34dccddc6b6556fa336 to your computer and use it in GitHub Desktop.
PROCEDURE DIVISION.
CALCULATOR-ROUTINE.
DISPLAY "COBOL CALCULATOR" LINE 4 POSITION 10 ERASE SCREEN.
PERFORM ACCEPT-NUM1.
PERFORM ACCEPT-OPERATOR THRU ACCEPT-OPERATOR-EXIT.
PERFORM ACCEPT-NUM2.
IF OPERATOR = "+"
ADD NUM1, NUM2 GIVING RESULT.
IF OPERATOR = "-"
SUBTRACT NUM2 FROM NUM1 GIVING RESULT.
IF OPERATOR = "*"
MULTIPLY NUM1 BY NUM2 GIVING RESULT.
IF OPERATOR = "/"
DIVIDE NUM1 BY NUM2 GIVING RESULT.
MOVE RESULT TO RESULT-EDIT.
DISPLAY NUM1-TXT LINE 12 POSITION 10.
DISPLAY OPERATOR LINE 12 POSITION 14.
DISPLAY NUM2-TXT LINE 12 POSITION 16.
DISPLAY "=" LINE 12 POSITION 20.
DISPLAY RESULT-EDIT LINE 12 POSITION 22.
STOP RUN.
ACCEPT-NUM1.
DISPLAY "Enter First Number : " LINE 6 POSITION 10.
ACCEPT NUM1-TXT LINE 6 POSITION 31 PROMPT ECHO.
IF NUM1-TXT (1:1) NUMERIC OR
NUM1-TXT (2:1) NUMERIC OR
NUM1-TXT (3:1) NUMERIC
MOVE NUM1-TXT TO NUM1 WITH CONVERSION
DISPLAY NUM1-TXT LINE 6 POSITION 31
ELSE
GO TO ACCEPT-NUM1.
ACCEPT-OPERATOR.
DISPLAY "Enter Operator (+,-,*,/): " LINE 8 POSITION 10.
ACCEPT OPERATOR LINE 8 POSITION 36 PROMPT ECHO.
IF OPERATOR NOT EQUAL "+" AND
OPERATOR NOT EQUAL "-" AND
OPERATOR NOT EQUAL "*" AND
OPERATOR NOT EQUAL "/"
GO TO ACCEPT-OPERATOR.
ACCEPT-OPERATOR-EXIT.
EXIT.
ACCEPT-NUM2.
DISPLAY "Enter Second Number: " LINE 10 POSITION 10.
ACCEPT NUM2-TXT LINE 10 POSITION 31 PROMPT ECHO.
IF NUM1-TXT (1:1) NUMERIC OR
NUM2-TXT (2:1) NUMERIC OR
NUM2-TXT (3:1) NUMERIC
MOVE NUM2-TXT TO NUM2 WITH CONVERSION
DISPLAY NUM2-TXT LINE 10 POSITION 31
ELSE
GO TO ACCEPT-NUM2.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment