[ 사전학습 Day 11 ] 운동 관리 시스템 구축하기

sonny·2024년 9월 24일
0

스파르타코딩클럽

목록 보기
13/13
post-thumbnail

문제

운동 시간 더하고 60분 이상일 때 메시지 출력

class ExerciseManager {
func addExerciseTime(_ time: Int) {
    if time >= 60 {
        print("운동을 많이 했습니다!")
    } else {
        print("운동을 더 해보세요.")
    }
}

먼저 classExerciseManager를 지정해 놓고, time의 입력 값를 받게 해봤다. 이 값는 운동 시간을 나타낸다.

if 문을 사용하여 조건을 확인하는데, 만약 time이 60분 이상이면 "운동을 많이 했습니다!"를 출력하고, 그렇지 않으면 "운동을 더 해보세요."라고 출력한다.

여기서 비교 연산자인 >=를 사용해 시간을 비교하는데, 이 연산자는 time 보다 '크거나 같다'라는 뜻

두 사람의 몸무게를 비교하는 함수

func compareWeight(weight1: Int, weight2: Int) {
    if weight1 > weight2 {
        print("첫 번째 사람이 더 많이 나갑니다.")
    } else if weight1 < weight2 {
        print("두 번째 사람이 더 많이 나갑니다.")
    } else {
        print("두 사람의 몸무게가 같습니다.")
    }
}

두 사람의 몸무게를 비교하기 위해 weight1weight2라는 두 개의 입력값을 받고나서 ifelse if를 사용해 첫 번째 사람의 몸무게가 더 많으면 "첫 번째 사람이 더 많이 나갑니다."를 출력하고, 두 번째 사람이 더 무거우면 "두 번째 사람이 더 많이 나갑니다."라고 출력한다.

만약 몸무게가 같으면 else를 통해 "두 사람의 몸무게가 같습니다."를 출력한다.

여기서는 비교 연산자인 >, <를 사용해 두 몸무게를 비교해봤다.

비교 연산자는 숫자 크기를 비교할 때 자주 사용되는데 이번에 만들면서 좀 더 이해가 쉽게 되었다.

체온과 체력 상태에 따라 운동 가능 여부 판단

func canExercise(temperature: Double, stamina: Int) {
    if temperature <= 36.5 && stamina >= 70 {
        print("운동이 가능합니다.")
    } else {
        print("운동이 불가능합니다.")
    }
}

temperaturestamina 두개의 입력값을 놓았다. 체온은 Double 타입(소수점), 체력은 Int 타입이다.

if 문 안에서 논리 연산자 &&를 사용했다. &&는 "그리고"라는 의미로, 두 조건이 모두 참이어야만 참이 된다. 체온이 36.5도 이하이고 체력이 70 이상일 때만 "운동이 가능합니다."가 출력 되는 것.

하나라도 조건을 만족하지 않으면 "운동이 불가능합니다."라고 출력한다.

운동 횟수를 1부터 10까지의 범위에서만 기록

func recordExerciseCount(count: Int) {
    if (1...10).contains(count) {
        print("운동 횟수: \(count)회")
    } else {
        print("운동 횟수는 1에서 10 사이여야 합니다.")
    }
}

count라는 입력값을 받아서 운동 횟수를 확인하고 범위 연산자 (1...10)를 사용해서 1부터 10까지의 범위를 알려준다. 이 범위 안에 count가 있는지 contains 메서드를 사용하여 확인했다.

만약 count가 1에서 10 사이에 있으면 "운동 횟수: (count)회"를 출력하고, 그렇지 않으면 "운동 횟수는 1에서 10 사이여야 합니다."라고 출력된다.

범위 연산자는 특정 범위에 값이 포함되는지를 확인할 때 이용하면 편할 것 같다.

삼항 연산자를 활용하여 운동 시간에 따른 메시지 출력

func evaluateExerciseTime(_ time: Int) {
    let message = time >= 30 ? "적당히 운동했습니다." : "운동이 부족합니다."
    print(message)
}

time 이라는 입력값를 받아 운동 시간을 평가해야 한다.
삼항 연산자 ? : 를 사용하여 조건을 간단하게 하고 time >= 30 이라는 조건이 이면 "적당히 운동했습니다."를 출력하고, 그렇지 않으면 "운동이 부족합니다."를 출력된다.

조건이 간단해서 이 방식으로 했다. 여기서 삼항 연산자if 대신 사용될 수 있는 간단한 조건 연산이다.

이렇게 다양한 조건들을 다뤄보고 if, 비교 연산자, 논리 연산자, 범위 연산자, 삼항 연산자를 활용해보는 좋은 공부시간이었다.

출력까지 확인하고 마무리!

총 코드

profile
iOS 좋아. swift 좋아.

2개의 댓글

comment-user-thumbnail
2024년 9월 24일

오 클래스로 비슷한 기능들을 잘 묶으셨네요!!
내일은 같이 회원 정보를 만들고 회원의 운동, 체중을 모두 관리 하는 코딩해봅시다

1개의 답글