var listFruits = [String]()
var isRunning = true
func getInput(_ message: String) -> String?{
print(message, terminator: ": ");
return readLine()
}
func getInputInt(_ message: String) -> Int?{
if let inputString = getInput(message){
return Int(inputString)
} else{
return nil
}
}
func showAllFruits(){
if listFruits.isEmpty{
print("Belum ada item di dalam daftar")
} else {
for (index, value) in listFruits.enumerated(){
print("[\(index + 1)] \(value)")
}
}
}
func insertFruit(){
if let name = getInput("Masukkan nama buah"){
listFruits.append(name)
} else {
insertFruit()
print("input tidak valid")
}
}
func editFruit(){
showAllFruits()
print("-------------------------")
if let position = getInputInt("Pilih posisi buah yang akan diganti"){
if position <= listFruits.count && position > 0 {
if let name = getInput("Masukkan nama buah baru "){
listFruits[position-1]=name
}
} else {
showMenu()
}
} else {
editFruit()
print("input tidak valid")
}
}
func deleteFruit(){
showAllFruits()
if let position = getInputInt("Pilih posisi :"){
if position <= listFruits.count && position > 0 {
listFruits.remove(at: position-1)
} else {
showMenu()
}
} else {
deleteFruit()
print("Input tidak valid")
}
}
func showMenu(){
print("Selamat datang di Dicoding Market")
print("---------MENU------------")
print("[1] Tampilkan semua buah")
print("[2] Tambah item buah")
print("[3] Ubah item buah")
print("[4] Hapus item buah")
print("[5] Keluar")
if let position = getInputInt("Silahkan pilih menu :"){
print("-------------------------")
switch position{
case 1:
showAllFruits()
break
case 2:
insertFruit()
break
case 3:
editFruit()
break
case 4:
deleteFruit()
break
case 5:
isRunning = false
print("Terima kasih")
break
default:
print("Pilihan Anda salah")
}
} else {
print("Item menu tidak valid")
}
print("-------------------------")
}
while isRunning{
showMenu()
}