[과제1] Swift 계산기

이유진·2024년 3월 6일
0

과제

목록 보기
1/7

과제로 나온 계산기 만들기를 시작했다.
오늘 목표가 시작은 해보자! 였는데,
일단 시작은 했다... 시작은....~~
갈 길은 멀지만 오늘 만들어본 것까지 업로드 해본다.
금요일까지 꾸준히 업데이트 해나가도록 하겠다.


필수 구현 기능

Lv1

  • 더하기, 빼기, 나누기, 곱하기 연산을 수행할 수 있는 Calculator 클래스를 만들기
  • 생성한 클래스를 이용하여 연산을 진행하고 출력

Lv2

  • Lv1에서 만든 Calculator 클래스에 “나머지 연산”이 가능하도록 코드를 추가하고, 연산 진행 후 출력
  • ex) 나머지 연산 예시 : 6을 3으로 나눈 나머지는 0 / 5를 3으로 나눈 나머지는 2

Lv3

  • 아래 각각의 클래스들을 만들고 클래스간의 관계를 고려하여 Calculator 클래스와 관계 맺기
    • AddOperation(더하기)
    • SubstractOperation(빼기)
    • MultiplyOperation(곱하기)
    • DivideOperation(나누기)
  • Calculator 클래스의 내부코드를 변경
    • 관계를 맺은 후 필요하다면 별도로 만든 연산 클래스의 인스턴스를 Calculator 내부에서 사용

선택 구현 기능 (힌트 : 추상화)

Lv4

  • AbstractOperation라는 추상화된 클래스를 만들기
  • 기존에 구현한 AddOperation(더하기), SubtractOperation(빼기), MultiplyOperation(곱하기), DivideOperation(나누기) 클래스들과 관계를 맺고 Calculator 클래스의 내부 코드를 변경
  • 스위프트의 어떤 문법을 이용하여 추상화할 수 있을지 생각해 봅시다

03.06.WED

1차 진행 상황

  1. 계산기의 class를 만들어줬다.
  2. 기능을 실행할 함수 calculate를 적어줬다.
  3. 실수값이 사용되기 때문에 Double 타입으로 지정해줬다.
  4. 덧셈, 뺄셈, 곱셈, 나눗셈 연산이 실행될 상수를 선언해줬다.
  5. switch를 사용해서 각 연산이 나올 케이스에 따라 결과값이 나오도록 해주려고 짜기 시작했는데 길을 잃었다! 길을 찾게 되면 업데이트 하도록 하겠다!
class Calculator {
  
    func calculate (_num1:Double, _num2:Double ) -> Double {
        let addNumber:Double
        let subractNumber:Double
        let multiplyNumber:Double
        let divideNumber:Double
    
        switch operation {
        case addNumber :
            print(())
        default:
            print(0)
        }
}

1차_ 느낀점

일단 여기까지 진행해봤다!
분명 저 중에 잘못 적은 부분이 많을거라는 걸 알기 때문에,,
다시 찬찬히 살펴보면서 길을 찾아나가봐야겠다.

내일 목표는 최소 Lv2까지는 구현해내기!! 열심히 해보자 :>


03.07.THU

2차 진행 상황
일단 수정한 부분 업로드. 설명은 오늘 좀 더 만들어보고 수정하는걸로 !!

import UIKit

class Calculator {
    
    func calculate (num1:Double, num2:Double, operation: String) -> Double {
        
        switch operation {
        case "+":
            return num1 + num2
        case "-":
            return num1 - num2
        case "*":
            return num1 * num2
        case "/":
            if num2 != 0 {
            return num1 / num2
            }
            else {
                print("Error")
                return 0
            }
        default:
            print("Error")
            return 0
        }
    }
    let calculator = Calculator()
}

1개의 댓글

comment-user-thumbnail
2024년 3월 6일

시작을 하셨군요! 저도 내일 바로 시작할 예정인데, 걱정이 너무 많습니다 ㅠㅠ 그래도 첫 단계는 잘 해내신 거 같네요! 고생하셨어요!

답글 달기