일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Xcode
- CoreLocation
- addannotation
- xcode로 날씨앱 만들기
- AnyObject
- swift
- Protocol
- weak var
- 한국어 개인정보처리방침
- 단일 책임원칙
- SwiftUI Boolean 값
- 러닝기록앱
- Required Reason API
- RunningTimer
- weatherKit
- dispatchsource
- UIAlertAction
- 영문 개인정보처리방침
- 러닝타이머
- Startign Assignments
- MKMapViewDelegate
- font book
- 클로저의 캡슐화
- UICollectionViewFlowLayout
- Timer
- 서체관리자
- CLLocationManagerDelegate
- WeatherManager
- MKMapItem
- App Store Connect
Archives
- Today
- Total
VesselWheel
키오스크 프로그램(lv1) 본문
콘솔영역 프린트 화면
class burgerHouse {
var shakeShakeMenu : String
var burgerSpec : String
//메뉴, 스펙 입력 전 초기화
init(shakeShakeMenu: String, burgerSpec: String) {
self.shakeShakeMenu = shakeShakeMenu
self.burgerSpec = burgerSpec
}
// burgerHouse의 class 메소드
func startKioskMenu() {
// 키오스크 리스트를 출력하는 함수 출력 후
kioskMenuListPrint()
//콘솔창에 출력 "원하는 메뉴 번호를 선택해주세요.
print("원하는 메뉴 번호를 선택해주세요.")
//콘솔창에 readLine() 활용 키보드로 입력, 키보드로 입력받는 userInput(Int값)을 메뉴넘버로 해서 menuNumber가 1보다 크고 kioskMenuList.count가 menuNumber보다 작거나 같을 때
if let userInput = readLine(), let menuNumber = Int(userInput), menuNumber > 0 && menuNumber <= kioskMenuList.count {
//"선택하신 메뉴는 숫자 대비 인덱스 순서 - 1 적용하여 프린터
print("선택하신 메뉴는 \(kioskMenuList[menuNumber - 1].shakeShakeMenu)이며, 스펙은 \(kioskMenuList[menuNumber - 1].burgerSpec)입니다.")
} else {
print("유효한 메뉴 번호를 입력해주세요.")
}
}
}
var burgers = burgerHouse(shakeShakeMenu: "Burgers", burgerSpec: "앵거스 비프 통살을 다져만든 버거")
var frozenCustard = burgerHouse(shakeShakeMenu: "Frozen Custard", burgerSpec: "매장에서 신선하게 만드는 아이스크림")
var drinks = burgerHouse(shakeShakeMenu: "Drinks", burgerSpec: "매장에서 직접 만드는 음료")
var beer = burgerHouse(shakeShakeMenu: "Beer", burgerSpec: "뉴욕 브루클린 브루어리에서 양조한 맥주")
var exit = burgerHouse(shakeShakeMenu: "종료", burgerSpec: "프로그램 종료")
//키오스크 메뉴 변수를 리스트에 저장
var kioskMenuList: [burgerHouse] = [burgers, frozenCustard, drinks, beer, exit]
//------------------------------------------------------------------------------------------------------------------------------------------
//버거메뉴
class burgersMenu {
var burgerItem : String
var burgerPrice : String
var itemSpec : String
//메뉴, 스펙 입력 전 초기화
init(burgerItem: String, burgerPrice: String, itemSpec : String) {
self.burgerItem = burgerItem
self.burgerPrice = burgerPrice
self.itemSpec = itemSpec
}
// burgerHouse의 class 메소드
func startKioskMenu() {
// 키오스크 리스트를 출력하는 함수 출력 후
kioskMenuListPrint()
//command Line에 출력 "원하는 메뉴 번호를 선택해주세요.
print("원하는 메뉴 번호를 선택해주세요.")
//commandLine에 readLine() 활용 키보드로 입력, menuNumber는 키보드로 userInput입력, menuNumber가 1보다 크고 kioskMenuList.count가 menuNumber보다 작거나 같을 때
if let userInput = readLine(), let menuNumber = Int(userInput), menuNumber > 0 && menuNumber <= burgerMenuList.count {
//"선택하신 메뉴는 숫자 대비 인덱스 순서 - 1 적용하여 프린터
print("선택하신 메뉴는 \(burgerMenuList[menuNumber - 1].burgerItem)이며, 가격은 \(burgerMenuList[menuNumber - 1].burgerPrice), 스펙은 \(burgerMenuList[menuNumber - 1].itemSpec)입니다.")
} else {
print("유효한 메뉴 번호를 입력해주세요.")
}
}
}
var shackBurger = burgersMenu(burgerItem: "ShackBurger", burgerPrice: "w 6.9", itemSpec: "토마토, 양상추, 쉑소스가 토핑된 치즈버거")
var smokeShack = burgersMenu(burgerItem: "SmokeShack", burgerPrice: "w 8.9", itemSpec: "베이컨, 체리 페퍼에 쉑소스가 토핑된 치즈버거")
var shroomBurger = burgersMenu(burgerItem: "SmokeShack", burgerPrice: "w 9.4", itemSpec: "몬스터 치즈와 체다 치즈로 속을 채운 베지테리안 버거")
var cheeseburger = burgersMenu(burgerItem: "Cheeseburger", burgerPrice: "w 6.9", itemSpec: "포테이토 번과 비프패티, 치즈가 토핑된 치즈버거")
var hamburger = burgersMenu(burgerItem: "Hamburger", burgerPrice: "w 5.4", itemSpec: "비프패티를 기반으로 야채가 들어간 기본버거")
var exit2 = burgersMenu(burgerItem: "exit2", burgerPrice: "", itemSpec: "")
//키오스크 메뉴 변수를 리스트에 저장
var burgerMenuList: [burgersMenu] = [shackBurger, smokeShack, shroomBurger, cheeseburger, hamburger, exit2]
//------------------------------------------------------------------------------------------------------------------------------------------
//콘솔 영역에 보여지기만 하는 함수
//키오스크 메뉴리스트를 콘솔에 출력하는 함수
func kioskMenuListPrint() {
print("[ BurgerHouse MENU ]")
for i in 0..<kioskMenuList.count {
//"메뉴번호 (0번째+1). \(kioskMenuList[인덱스 0번째의].burgerMenu | \(kioskMenuList[인덱스 0번쩨]의 burgerSpec"
print("메뉴번호 \(i+1). \(kioskMenuList[i].shakeShakeMenu) | \(kioskMenuList[i].burgerSpec)")
}
print("-----------------------------------------------------------")
//버거메뉴를 콘솔에 출력하는 함수
print("[ Burgers MENU ]")
for i in 0..<burgerMenuList.count {
//"메뉴번호 (0번째+1). \(kioskMenuList[인덱스 0번째의].burgerMenu | \(kioskMenuList[인덱스 0번쩨]의 burgerSpec"
print("메뉴번호 \(i+1). \(burgerMenuList[i].burgerItem) | \(burgerMenuList[i].burgerPrice) | \(burgerMenuList[i].itemSpec)")
}
}
burgers.startKioskMenu()
콘솔에 readline()을 통해 키보드로 메뉴번호를 입력한 화면
메뉴의 기능을 상속하는 부분이 구현이 필요하다. 모르겠다. 찾아보자.
각 번호를 눌렀을 때 콘솔이 반응하는 부분의 구현이 필요하다.
'Xcode Study' 카테고리의 다른 글
키오스크 프로그램에 사용된 protocol과 extension (0) | 2023.12.09 |
---|---|
키오스크 프로그램(lv3) (0) | 2023.12.06 |
키오스크 프로그램과 클로져 (0) | 2023.12.05 |
Mutating Keyword (0) | 2023.12.05 |
Calculator in playground (0) | 2023.11.30 |