과제/키오스크

kiosk 과제 lv0,1

crablo 2024. 3. 11. 18:36
728x90

스파르타 코딩클럽에서 키오스크과제가 주어져서 진행했다.

나는 서브웨이 메뉴로 키오스크를 만들었다.

LV0

과제 시작전 어떻게 구현할것인지 그려 보는 과정
-요구사항별 상세 기능정의
-사용하면서 발생할 수 있는 예외 사항 고려
-0누르면 종료
[ 필요한 기능 ]
요구사항1: 메인 메뉴판 화면
: 메뉴 선택시 상세 메뉴화면으로 이동
: 잘못된 번호 선택 시 예외처리
: 프로그램 종료을 위한 번호 정의

요구사항2: ~~~
요구사항3: ~~~
요구사항4: ~~~
package com.ellycrab.kiosklv0
import java.lang.Exception

//키오스크 lv0
/*
과제 시작전 어떻게 구현할것인지 그려 보는 과정
-요구사항별 상세 기능정의
-사용하면서 발생할 수 있는 예외 사항 고려
-0누르면 종료
[ 필요한 기능 ]
요구사항1: 메인 메뉴판 화면
: 메뉴 선택시 상세 메뉴화면으로 이동
: 잘못된 번호 선택 시 예외처리
: 프로그램 종료을 위한 번호 정의

요구사항2: ~~~
요구사항3: ~~~
요구사항4: ~~~
서브웨이 메뉴로 진행
-종류: sandwich(eggSlice,ItalianBMT,ChickenBaconAvocado,RotisserieBarbecue,Shrimp,RoastedChicken)
, wrap(SteakWrap,EggMayo,ChickenBacon) , salad(EggSlice,SpicyShrimp,SpicyItalian,SteakCheese,ChickenBacon,Kbbq)
 */
fun main() {
    var userInput: String?

    do {
        displayMainMenu()
        userInput = readLine()

        when (userInput) {
            "1" -> orderSandwich()
            "2" -> orderWrap()
            "3" -> orderSalad()
            "0" -> {
                println("프로그램을 종료합니다. 안녕히 계세요!")
                return
            }
            else -> {
                println("잘못된 입력입니다. 올바른 옵션을 선택하세요.")
            }
        }

    } while (true)
}

fun displayMainMenu() {
    println("서브웨이 메뉴:")
    println("1. 샌드위치")
    println("2. 랩")
    println("3. 샐러드")
    println("0. 주문 종료")
    print("원하는 항목을 선택하세요: ")
}

fun orderSandwich() {
    println("샌드위치 종류:")
    println("1. Egg Slice")
    println("2. Italian BMT")
    println("3. Chicken Bacon Avocado")
    println("4. Rotisserie Barbecue")
    println("5. Shrimp")
    println("6. Roasted Chicken")

    print("원하는 샌드위치를 선택하세요: ")
    val sandwichChoice = readLine()

    // 선택된 샌드위치에 대한 로직 추가
}

fun orderWrap() {
    println("랩 종류:")
    println("1. Steak Wrap")
    println("2. Egg Mayo")
    println("3. Chicken Bacon")

    print("원하는 랩을 선택하세요: ")
    val wrapChoice = readLine()

    // 선택된 랩에 대한 로직 추가
}

fun orderSalad() {
    println("샐러드 종류:")
    println("1. Egg Slice")
    println("2. Spicy Shrimp")
    println("3. Spicy Italian")
    println("4. Steak Cheese")
    println("5. Chicken Bacon")
    println("6. KBBQ")

    print("원하는 샐러드를 선택하세요: ")
    val saladChoice = readLine()

    // 선택된 샐러드에 대한 로직 추가
}

[Kiosklv0.kt]

 

실행화면은 아래와 같다.

구현하다보니 lv0에서는 요구사항에 반복문이 없었다.

이걸하면 lv1가되어서 가볍게 lv2로 넘어갔다 ;;;

728x90

'과제 > 키오스크' 카테고리의 다른 글

kiosk 과제 lv4-인터페이스 구현  (0) 2024.03.13
kiosk lv3-추상클래스 구현  (0) 2024.03.12
kiosk 과제 lv2  (0) 2024.03.11