ABAP

ABAP 계산기 만들기 사칙연산

허니시대 2021. 6. 21. 21:37
반응형

IF문과 CASE WHEN 구문을 사용하여 계산기 만들기

 


REPORT ZBD400_20_COMPUTE.

" 총 3개의 매개변수 ( Parameters )
" 2개의 정수 와 1개의 연산자
" 전역변수 1개를 요구 - 2개의 정수와 연산자로 계산된 결과값
" 연산자는 case 문을 통해서 계산로직을 분기
" 계산된 결과가 저장된 전역변수를 WRITE 문을 통해서 출력
" 연산자는 사칙연산( + , - , * , / ) 외에는 허용하지 않는다.
" 만약 입력시 오류 메시지 출력
" / 연산자 중 분모에 해당하는 값이 0일 경우 오류 메시지 출력


*Task 1 매개변수와 연산자 생성, 전역변수 생성
PARAMETERS INPUT1 TYPE I,
             FACTOR TYPE C,
             INPUT2 TYPE I.

DATAGV_RESULT TYPE DECIMALS 2.

IF FACTOR '/' AND INPUT2 0.
  MESSAGE I000(OOWITH '0으로 나눌 수 없습니다.' .
  EXIT.
ELSEIF INPUT1 IS INITIAL OR INPUT2 IS INITIAL OR FACTOR IS INITIAL.
  MESSAGE I000(OOWITH '값을 입력해주세요' .
  EXIT.
ELSE.

*Task 2 연산자는 case문을 통해서 계산로직을 분기
  CASE FACTOR.
    WHEN '+'.     GV_RESULT INPUT1 + INPUT2.
    WHEN '-'.     GV_RESULT INPUT1 INPUT2.
    WHEN '*'.     GV_RESULT INPUT1 * INPUT2.
    WHEN '/'.     GV_RESULT INPUT1 / INPUT2.
    WHEN OTHERS.  MESSAGE I000(OOWITH '사칙연산만 가능합니다.' .
    EXIT.
  ENDCASE.

*계산된 결과가 저장된 전역변수를 WRITE 문을 통해서 출력
  WRITE /1  '계산결과는 ' INPUT1FACTORINPUT2(3'= ',GV_RESULT,' 입니다.'.

ENDIF.

 


결과화면

실행 초기 화면

 

입력된 값이 없는 경우 메시지 출력
0으로 나눈 경우
0으로 나눈 경우 오류메시지 출력
연산자에 사칙연산 이외의 값이 들어간 경우
계산 결과

728x90
반응형

'ABAP' 카테고리의 다른 글

SAP Data Element (ABAP Object)  (0) 2021.11.06