23.08.25 장바구니 Class 로 구현해보기
2023. 8. 25. 21:05ㆍ카테고리 없음
구현 설계도👇
구현 코드👇
import Foundation
print("안녕하세요 !")
class HomeMenu{
func menu(){
print("""
쿠팡 쇼핑몰 입니다.
구매를 원하시는 물품을 고르세요.
1. 간식
2. 생필품
3. 전자기기
""")
}
}
let Home = HomeMenu()
Home.menu()
class Product{
var snacks = "간식"
var lifeItem = "생필품"
var electronic = "전자기기"
}
class Item1 : Product{
var snack = "포카칩"
var snack2 = "초코송이"
var snack3 = "예감"
var snack4 = "웨하스"
var snack5 = "뻥이요"
func my_snack(){
print("""
1. \(snack) 1500원
2. \(snack2) 800원
3. \(snack3) 1000원
4. \(snack4) 600원
5. \(snack5) 2000원
""")
}
}
let snack : Item1 = Item1()
class Item2 : Product{
var life = "휴지"
var life2 = "생수"
var life3 = "칫솔"
var life4 = "손톱깎이"
func my_life(){
print("""
1. \(life)
2. \(life2)
3. \(life3)
4. \(life4)
""")
}
}
let life : Item2 = Item2()
class Item3 : Product{
var electro = "아이폰"
var electro2 = "노트북"
var electro3 = "스피커"
var electro4 = "냉장고"
func my_electro(){
print("""
1. \(electro)
2. \(electro2)
3. \(electro3)
4. \(electro4)
""")
}
}
class ShoppingCart : Product{
func cart(){
}
}
var money:Int = 10000
var pay = Int(readLine()!)!
var input = Int(readLine()!)!
class Payment : Product{
func snackPrice(){
switch input{
case 1:
money -= 1500
print("\(money -= 1500)원이 남았습니다.")
case 2:
money -= 800
print("\(money -= 800)원이 남았습니다.")
case 3:
money -= 1000
print("\(money -= 1000)원이 남았습니다.")
case 4:
money -= 600
print("\(money -= 600)원이 남았습니다.")
case 5:
money -= 2000
print("\(money -= 2000)원이 남았습니다.")
default:
print("s")
}
}
}
let Pay : Payment = Payment()
let electro : Item3 = Item3()
var cart = Int(readLine()!)!
switch input {
case 1:
print("""
간식을 선택하셨습니다.
장바구니에 넣을 물건을 골라주세요.
""")
snack.my_snack()
switch input{
case 1:
print("\(snack.snack)을 몇개 넣으시겠어요?")
case 2:
print("\(snack.snack2)를 몇개 넣으시겠어요?")
case 3:
print("\(snack.snack3)을 몇개 넣으시겠어요?")
case 4:
print("\(snack.snack4)를 몇개 넣으시겠어요?")
case 5:
print("\(snack.snack5)를 몇개 넣으시겠어요?")
default:
print("다시 시작하십시오")
snack.my_snack()
}
cart = Int(readLine()!)!
print("\(cart)개를 장바구니에 담았습니다.")
Pay.snackPrice()
case 2:
print("""
생필품을 선택하셨습니다.
장바구니에 넣을 물건을 골라주세요.
""")
life.my_life()
case 3:
print("""
전자기기를 선택하셨습니다.
장바구니에 넣을 물건을 골라주세요.
""")
electro.my_electro()
default:
print("""
다시 입력하십시오.
장바구니에 넣을 물건을 골라주세요.
""")
Home.menu()
}
input = Int(readLine()!)!
//input()
위와 같은 코드로 프로그램을 작동시키면
어떤종류의 물품을 원하는지 > 어떤 물품을 원하는지 > 몇개를 장바구니에 담을건지 의 순으로
진행된다.
근데 여기서 잘 되지않은부분이 payment클래스에서 돈을 결제하는 로직을 만드는것과
장바구니에 담았다는수치는 표현이되지만 데이터로써 shoppingcart에 저장시키는 방법을 잘 모르겠다.
우선 class 를 만들어서 활용하는방법에 대해 진행한 미션이기때문에 , 어느정도 class의 개념을 이해할 수 있어 좋았다.
😀오늘의 꿀팁
단축어로 만들고싶은 문장 복사해서 우클릭하고 , create code snippet누르면
shift + command + L 누른것같은 창이나오고 , 거기서 단축어등록을 할 수 있다.
Completion에 단축어를 저장해놓으면 ( 아래는 #if )
#if 를 눌렀을때 위에있는 코드가 자동 등록되는 형식이다.