Kotlin

내일배움캠프 12.13 TIL

공부처음하는사람 2023. 12. 22. 20:53

키오스크 과제

  • Main
package kiosk

import kotlin.system.exitProcess

fun main() {
    val mainMenu = MainMenu("", "")
    val orders = Orders("", "")
    val burgersMenu = BurgersMenu("", 0.0, "")
    val custardMenu = CustardMenu("", 0.0, "")

    println("메뉴를 선택해주세요.\n")
    var mainmenu1 = mainMenu.mainMenuInfo()
    var mainmenu2 = orders.ordersInfo()

    while (true) {
        val menuChoice = readln().toInt()
//        try {
//            val menuChoice = readln()?.toInt()
//        } catch (e: NumberFormatException) {
//            println("숫자만 입력해주세요.")
//        }
        when (menuChoice) {
            1 -> burgersMenu.burgerInfo()
            2 -> custardMenu.custardInfo()
            0 -> {
                println("안녕히 가세요.")
                exitProcess(0)
            }

            else -> {
                println("잘못 입력하셨습니다. 다시 시도해주세요.")
                mainmenu1 = mainMenu.mainMenuInfo()
                mainmenu2 = orders.ordersInfo()
            }
        }
    }
}
  • Order
package kiosk

class Orders(title: String, info: String) {
    val title: String
    val info: String

    init {
        this.title = title
        this.info = info
    }

    fun ordersInfo() {
        val orders = MainMenu("Order", "장바구니를 확인 후 주문합니다.")
        val Cancel = MainMenu("Cancel", "진행중인 주문을 취소합니다.")


        println("[ ORTHER MENU ]")
        println("5.${orders.title.padEnd(18)}| ${orders.info}")
        println("6.${Cancel.title.padEnd(18)}| ${Cancel.info}")
    }

}
  • detailMenu
package kiosk

class BurgersMenu(name: String, price: Double, info: String) {
    val name: String
    val price: Double
    val info: String

    init {
        this.name = name
        this.price = price
        this.info = info
    }

    fun burgerInfo() {
//        val burgerList : List<BurgersMenu> = listOf<BurgersMenu>(shackBurger,smokeShack,shroomBurger,cheeseBurger,hamburger)
        val smokeShack = BurgersMenu("SmokeShack", 8.9, "베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거")
        val shackBurger = BurgersMenu("Shackburger", 6.9, "토마토, 양상추, 쉑소스가 토핑된 치즈버거")
        val shroomBurger = BurgersMenu("Shroomburger", 9.4, "몬스터 치즈와 체다 치즈로 속을 채운 베지테리안 버거")
        val cheeseBurger = BurgersMenu("Cheeseburger", 6.9, "포테이토 번과 비프패티, 치즈가 토핑된 치즈버거")
        val hamburger = BurgersMenu("Hamburger", 5.4, "비프패티를 기반으로 야채가 들어간 기본버거")

        println("[ Burgers MENU ]")
        println("1.${shackBurger.name.padEnd(18)}| ${shackBurger.price} | ${shackBurger.info}")
        println("2.${smokeShack.name.padEnd(18)}| ${smokeShack.price} | ${smokeShack.info}")
        println("3.${shroomBurger.name.padEnd(18)}| ${shroomBurger.price} | ${shroomBurger.info}")
        println("4.${cheeseBurger.name.padEnd(18)}| ${cheeseBurger.price} | ${cheeseBurger.info}")
        println("5.${hamburger.name.padEnd(18)}| ${hamburger.price} | ${hamburger.info}")

        while(true){
            val burgerChoice = readln().toInt()
            when(burgerChoice){
                1 -> {
                    println("쉑버거 먹을거???")
                    println("1.구매 2.취소")
                    readln().toInt()
                    println("주문이 완료되었습니다.")
                }
                2 -> println("굿굿")
            }
        }
    }
}

오후부터 키오스크 과제를 했는데 너무 어렵다.
강의에 비중을 많이 뒀었는데 직접 코딩하는게 중요하다는걸 느낌

하지만 배움이 모자라기에 또 강의를 듣는데...............

'Kotlin' 카테고리의 다른 글

내일배움캠프 12.15 TIL  (2) 2023.12.22
객체지향 프로그램 기초개념 5가지  (1) 2023.12.22
내일배움캠프 12.12 TIL  (2) 2023.12.22
내일배움캠프 12.11 TIL  (1) 2023.12.22
내일배움캠프 12.10 TIL  (1) 2023.12.22