Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
← Back to Conditional Logic
Conditional Logic | Beginner | COBOL

Triangle Type Checker

Problem Description

Given three sides, determine triangle type: Equilateral, Isoceles, Scalene, or Invalid.

Expected Output

Type of triangle

Hints

Sum of any two sides must be greater than the third.

Solution

IDENTIFICATION DIVISION. PROGRAM-ID. TRIANGLE. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-A PIC 9(3). 01 WS-B PIC 9(3). 01 WS-C PIC 9(3). 01 WS-TYPE PIC X(15). PROCEDURE DIVISION. DISPLAY "ENTER SIDE A: ". ACCEPT WS-A. DISPLAY "ENTER SIDE B: ". ACCEPT WS-B. DISPLAY "ENTER SIDE C: ". ACCEPT WS-C. * Validate triangle IF (WS-A + WS-B > WS-C) AND (WS-B + WS-C > WS-A) AND (WS-A + WS-C > WS-B) * Determine type IF WS-A = WS-B AND WS-B = WS-C MOVE "EQUILATERAL" TO WS-TYPE ELSE IF WS-A = WS-B OR WS-B = WS-C OR WS-A = WS-C MOVE "ISOCELES" TO WS-TYPE ELSE MOVE "SCALENE" TO WS-TYPE END-IF DISPLAY "TRIANGLE TYPE: " WS-TYPE ELSE DISPLAY "NOT A VALID TRIANGLE" END-IF. STOP RUN.

Explanation:

First validate with sum of two sides > third. Then check equality.