프로그래밍 언어/PHP

함수 활용

· 코딩마이데이

지금까지 배운 함수를 활용하여 놀이 공원 입장료를 계산하는 프로그램을 작성해봅시다.

 

04/ex4-9.php

<?php
    function ticket1($day, $age) { // 일반 입장권 요금 // 02
        if ($day == "주간") {
            if ($age > 12 and $age < 63)
                $money = 26000;
            else
                $money = 19000;
        }
        else {
            if ($age > 12 and $age < 65)
                $money = 21000;
            else
                $money = 16000;
        }

        return $money;
    } // 17
    
    function ticket2($day, $age) { // 자유 이용권 요금 // 19
        if ($day == "주간") {
            if ($age > 12 and $age < 63)
                $money = 33000;
            else
                $money = 24000;
        }
        else {
            if ($age > 12 and $age < 65)
                $money = 28000;
            else
                $money = 21000;
        }
        
        return $money;
    } // 34

    function ticket3($day, $age) { // 2일 이용권 요금 // 36
        if ($age > 12 and $age < 65)
            $money = 55000;
        else
            $money = 40000;

        return $money;
    } // 43

    function ticket4($age) { // 콤비권 요금 // 45
        if ($age > 12 and $age < 65)
            $money = 54000;
        else 
            $money = 40000;

        return $money;
    } // 52

    /* $category 1: 일반 입장권, 2: 자유 이용권,
        3: 2일 이용권, 4. 콤비권    
    */

    $category = 2; // $category : 구분 // 58
    $age = 20; // $age : 나이 // 59
    $day = "야간"; // $day : "주간" 또는 "야간" // 60

    if ($category == 1) // 62
        $pay = ticket1($day, $age);
    else if ($category == 2)
        $pay = ticket2($day, $age);
    else if ($category == 3)
        $pay = ticket3($day, $age);
    else
        $pay = ticket4($age); // 69

    if ($category == 1) // 71
        $cat = "일반 입장권";
    else if ($category == 2)
        $cat = "자유 이용권";
    else if ($category == 3)
        $cat = "2일 이용권";
    else
        $cat = "콤비권"; // 78

    echo "구분 : ".$cat."<br>"; // 80
    if ($category == 1 or $category == 2) // 81
        echo "주간/야간 : ".$day."<br>"; // 82

    echo "나이 : ".$age."<br>"; // 84
    echo "입장료 : ".$pay; // 85
?>

ex4-9.php의 실행 결과

 

 

02~17

function ticket1($day, $age) {
        ...
}

일반 입장권 요금을 계산하는 ticket1() 함수를 정의합니다. ticket1() 함수에서 매개변수 $day와 $age는 각각 주간/야간고 나이를 의미합니다. 일반 입장권 요금을 계산하여 결과 값인 $result를 함수 호출 측에 반환합니다.

 

19~34

function ticket2($day, $age) {
        ...
}

자유 이용권 요금을 계산하는 ticket2() 함수를 정의합니다. ticket1() 함수와 거의 같은 방식으로 자유 이용권 요금을 계산하여 결과 값인 $result를 함수 호출 측에 반환합니다.

 

36~43

function ticket3($day, $age) {
        ...

2일 이용권 요금을 계산하는 ticket3() 함수를 정의합니다. 2일 이용권은 주간/야간 구분이 없기 때문에 매개변수로 $age만 사용됩니다. ticket3() 함수에서는 2일 이용권 요금을 계산하여 결과 값인 $result를 함수 호출 측에 반환합니다.

 

45~52

function ticket4($age) {
        ...
}

콤비권 요금을 계산하는 ticket4() 함수를 정의합니다. ticket4() 함수에서는 ticket3() 함수와 거의 동일한 방식으로 콤비권 요금을 계산하여 결과 값인 $result를 함수 호출 측에 반환합니다.

 

58~60 구분을 의미하는 $category, 나이 $age, 주간/야간 $day에 각각 2, 20, '야간'을 입력합니다.

 

62~69 $category 값에 따라 ticket1(), ticket2(), ticket3(), ticket4() 함수 중 하나를 호출하여 그에 해당되는 입장 요금을 계산하여 입장료를 의미하는 변수 $pay에 저장합니다.

 

71~78 $category 값(1, 2, 3, 4)에 따라 문자열  $cat에 '일반 입장권', '자유 이용권', '2일 이용권', '콤비권'을 설정합니다.

 

80 실행 결과의 첫 번째 줄에서와 같이 구분에 대한 정보를 출력합니다.

 

81, 82 실행 결과를 보면 '일반 입장권'과 '자유 이용권' 요금에는 주간/야간의 구분이 됩니다. 따라서 $category가 1 또는 2의 값을 가질 경우에는 82행 echo문으로 주간/야간에 대한 두 번째 줄에 출력합니다.

 

84, 85 실행 결과의 세 번째 줄과 네번째 줄에 나이와 입장료에 대한 정보를 출력합니다.

 

'프로그래밍 언어 > PHP' 카테고리의 다른 글

배열로 합계/평균 구하기  (0) 2026.05.17
배열이란?  (0) 2026.05.17
함수 값의 반환  (0) 2026.05.16
매개변수  (0) 2026.05.15
프로그램 진행 순서  (0) 2026.05.14