IOS [ Swift ]

23.07.24 팀 프로젝트 - 쉑쉑버거 메뉴판 / 제품 구매 코드짜기

oong2 2023. 7. 25. 23:14

쉑쉑버거의 메뉴판을 만들고 , 제품을 구매하기위해 돈을 지불하며 금액이 차감되는 기능을 구현하였다.

처음엔 if 문을 사용하여

 

만약 1번을 누르면 > 1번메뉴로가고

그게아니라 2번을누르면 > 2번메뉴로가고

이런식으로 코드를짰었지만 

 

뭔가 switch문이 더 범용성측면에서도좋고 나중을 생각해서도 좋을거라생각해서 전부다 갈아엎었다.

그러나 switch문을 사용하면서 if문에서는 안보였던 문제점이 보여 수정해야할것같다.

let out = "프로그램을 종료합니다."

print(menu)

let menu = """
==================================================

아래 메뉴판을 보시고 메뉴를 골라 입력해주세요.

[ SHAKESHACK MENU ]
1. Burgers         | 앵거스 비프 통살을 다져만든 버거
2. Frozen Custard  | 매장에서 신선하게 만드는 아이스크림
3. Drinks          | 매장에서 직접 만드는 음료
4. Beer            | 뉴욕 브루클린 브루어리에서 양조한 맥주
0. 종료            | 프로그램 종료

==================================================
"""

let burger = """

[ Burgers MENU ]

1. ShackBurger   | W 6.9 | 토마토, 양상추, 쉑소스가 토핑된 치즈버거
2. SmokeShack    | W 8.9 | 베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거
3. Shroom Burger | W 9.4 | 몬스터 치즈와 체다 치즈로 속을 채운 베지테리안 버거
4. Cheeseburger  | W 6.9 | 포테이토 번과 비프패티, 치즈가 토핑된 치즈버거
5. Hamburger     | W 5.4 | 비프패티를 기반으로 야채가 들어간 기본버거
0. 뒤로가기     | 뒤로가기

"""

let icecream = """

[ Frozen Custard MENU]

1. Choco Icecream       ㅣ W 5.0 ㅣ 쉑쉑버거만의 카카오 공법으로 만든 초코아이스크림
2. Vanila Icecream.     ㅣ W 5.0 ㅣ 쉑쉑버거의 시그니처 바닐라쉐이크 아이스크림
3. Strrawberry Icecream ㅣ W 5.5 ㅣ 제철 딸기의 상큼함을 담은 딸기아이스크림
4. Blueberry Icecream.  ㅣ W 5.5 ㅣ 마니아층이 두터운 블루베리 아이스크림
0. 뒤로가기.    ㅣ 뒤로가기

"""

let drinks = """

[ Drinks MENU ]

1. Vanila Shake     ㅣ W 5.0 ㅣ 밀크쉐이크에 바닐라향이 첨가된 별미 메뉴
2. Choco Shake      ㅣ W 5.0 ㅣ 초코의 진한 풍미를 느낄 수 있는 메뉴
3. Milk Shake       ㅣ W 5.0 ㅣ 연간 100만개씩 판매되는 베스트셀러 !
 

"""
let burgerprice: [String] = ["6900","8900","9400","6900","5400"]

let shackburger = "쉑 버거를 선택하셨습니다.\(burgerprice[0])원을 결제 하시겠습니까?"
let smokeburger = "스모크 버거를 선택하셨습니다.\(burgerprice[1])원을 결제 하시겠습니까?"
let shroomburger = "슈룸 버거를 선택하셨습니다.\(burgerprice[2])원을 결제 하시겠습니까?"
let cheeseburger = "치즈 버거를 선택하셨습니다.\(burgerprice[3])원을 결제 하시겠습니까?"
let hamburger = "햄버거를 선택하셨습니다.\(burgerprice[4])원을 결제 하시겠습니까?"

let icecreamprice: [String] = ["5000","5500"]

let chocoicecream = "초코 아이스크림을 선택하셨습니다. \(icecreamprice[0])원을 결제 하시겠습니까?"
let vanilaicecream = "바닐라 아이스크림을 선택하셨습니다. \(icecreamprice[0])원을 결제 하시겠습니까?"
let strawberryicecream = "딸기 아이스크림을 선택하셨습니다. \(icecreamprice[1])원을 결제 하시겠습니까?"
let blueberryicecream = "블루베리 아이스크림을 선택하셨습니다. \(icecreamprice[1])원을 결제 하시겠습니까?"


let ox = "선택은 1번을 , 메뉴로가기는 2번을 눌러주세요"

let pay = "결제 완료!"

//switch
print(menu)

let shake = Int(readLine()!)!

var number = Int(readLine()!)
    
//    number = Int(readLine()!)!
while true{
    switch shake{
        
    case 0 :
        print(out)
    case 1 :
        print(burger)
        number = Int(readLine()!)!
        if number == 1{
            print(shackburger)
            print(ox)
            number = Int(readLine()!)!
            switch shake{
            case 1 :
                print(pay)
            case 2 :
                print(menu)
            default:
                print(burger)
            }
        }else if number == 2 {
            print(smokeburger)
            print(ox)
            number = Int(readLine()!)!
            switch shake{
            case 1 :
                print(pay)
            case 2 :
                print(menu)
            default:
                print(burger)
            }
        }else if number == 3 {
            print(shroomburger)
            print(ox)
            number = Int(readLine()!)!
            switch shake{
            case 1 :
                print(pay)
            case 2 :
                print(menu)
            default:
                print(burger)
            }
        }else if number == 4 {
            print(cheeseburger)
            print(ox)
            number = Int(readLine()!)!
            switch shake{
            case 1 :
                print(pay)
            case 2 :
                print(menu)
            default:
                print(burger)
            }
        }else if number == 5 {
            print(hamburger)
            print(ox)
            number = Int(readLine()!)!
            switch shake{
            case 1 :
                print(pay)
            case 2 :
                print(menu)
            default:
                print(burger)
            }
        }
        
    case 2 :
        print(icecream)
        number = Int(readLine()!)!
        if number == 1{
            print(chocoicecream)
            print(ox)
            number = Int(readLine()!)!
            switch shake{
            case 1 :
                print(pay)
            case 2 :
                print(menu)
            default:
                print(icecream)
            }
        }else if number == 2{
            print(vanilaicecream)
            print(ox)
            number = Int(readLine()!)!
            switch shake{
            case 1 :
                print(pay)
            case 2 :
                print(menu)
            default:
                print(icecream)
            }
        }else if number == 3{
            print(strawberryicecream)
            print(ox)
            number = Int(readLine()!)!
            switch shake{
            case 1 :
                print(pay)
            case 2 :
                print(menu)
            default:
                print(icecream)
            }
        }else if number == 4{
            print(strawberryicecream)
            print(ox)
            number = Int(readLine()!)!
            switch shake{
            case 1 :
                print(pay)
            case 2 :
                print(menu)
            default:
                print(icecream)
            }
        }
    case 3 :
        print(drinks)
    default :
        print("숫자를 입력해 주세요.")
        
        number = Int(readLine()!)!
        
    }
}

 

이렇게 0 ~ 1단계 프로젝트는 팀원들 각자 개인적으로 만들어 보았고,

나머지 2 ~ 5단계 프로젝트를 다같이 협업해서 내일부터 제작에 들어간다 ! 설렘반 긴장반 무서움반