개발...................../TIL
20240605_계산기 만들기 (Lv.1)
bluewiper
2024. 6. 6. 10:07
오늘은 계산기를 만들어보겠습니다~
Lv.1 과제의 필수 구현 기능부터 살펴볼까요?
더하기, 빼기, 나누기, 곱하기 연산을 수행할 수 있는 Calculator 클래스를 만들기
생성한 클래스를 이용하여 연산을 진행하고 출력
Thought process
//calculator class 생성 * //첫번째 들어갈 값 선언, 두자릿수 이상 입력하기 위해 string 값으로 받기 //두번째 들어갈 값 선언, 두자릿수 이상 입력하기 위해 string 값으로 받기 //string 값으로 받은 데이터를 Double로 형변환하여 연산 출력값을 Double형태로 받을 수 있도록 하기 //값을 저장하기 위한 초기화 //연산 기능 추가(덧셈) : 함수 정의 //연산 기능 추가(뺄셈) : 함수 정의 //연산 기능 추가(곱셈) : 함수 정의 //연산 기능 추가(나눗셈) : 함수 정의 //숫자 입력 //연산 함수 호출 //작동 확인 단계 : 값 출력 |
바로 코딩을 시작하는 것보다는 필수 구현 기능을 우선으로 넣었는지,
해당 기능이 작동하기 위해서 어떤 전후과정이 있는지에 대해
생각해보는 습관을 들이는중입니다.
로직을 미리 짜놓고도 로직대로 코딩하지 않는 경우도 발생하고,
이 때는 오류가 발생해도 원인을 찾기 어려우니
유의해주시면 좋겠습니다~
My code
class Calculator {
var firstNumber : String
//첫번째 들어갈 값 선언, 두자릿수 이상 입력하기 위해 string 값으로 받기
var secondNumber : String
//두번째 들어갈 값 선언, 두자릿수 이상 입력하기 위해 string 값으로 받기
init(firstNumber: String, secondNumber: String) {
self.firstNumber = firstNumber
self.secondNumber = secondNumber //새롭게 입력된 값을 저장하기 위한 초기화
}
// 연산 기능 추가(덧셈, 뺄셈, 곱셈, 나눗셈)
// 덧셈 메서드
func add() -> Double {
let firstNum = Double(firstNumber) ?? 0.0
let secondNum = Double(secondNumber) ?? 0.0
// ?? 연산자는 "nil-coalescing operator" 의미. 옵셔널 값이 nil인 경우 대체 값을 제공하는 데 사용
return firstNum + secondNum
}
// 뺄셈 메서드
func sub() -> Double {
let firstNum = Double(firstNumber) ?? 0.0
let secondNum = Double(secondNumber) ?? 0.0
// ?? 연산자는 "nil-coalescing operator" 의미. 옵셔널 값이 nil인 경우 대체 값을 제공하는 데 사용
return firstNum - secondNum
}
// 곱셈 메서드
func mul() -> Double {
let firstNum = Double(firstNumber) ?? 0.0
let secondNum = Double(secondNumber) ?? 0.0
// ?? 연산자는 "nil-coalescing operator" 의미. 옵셔널 값이 nil인 경우 대체 값을 제공하는 데 사용
return firstNum * secondNum
}
// 나눗셈 메서드
func div() -> Double {
let firstNum = Double(firstNumber) ?? 0.0
let secondNum = Double(secondNumber) ?? 0.0
// ?? 연산자는 "nil-coalescing operator" 의미. 옵셔널 값이 nil인 경우 대체 값을 제공하는 데 사용
return firstNum / secondNum
}
}
let calculator = Calculator(firstNumber: "20", secondNumber: "20")
// Calculator 클래스 초기화 후 빈공간을 채우기 위해 인스턴스를 생성
// 계산기 작동 확인을 위해 숫자 입력, firstNumber와 secondNumber 값을 연산하고 싶은 값으로 초기화
calculator.add()
//함수 호출해서 작동 확인
//목표 Lv.2
//목표 마지막 출력값에 새로운 숫자를 입력(append) 후 연산자를 넣었을 때 결과값이 나오게 하기
Notice 형변환, 옵셔널, 클래스 초기화 후 인스턴스 생성
화이팅~