print("Latihan input buah dicoding.com")
var listBuah = [String]()
var isRunning = true
func getInput(message: String) -> String?{
print(message, terminator: ": ");
return readLine()
}
func inputInt(message: String) -> Int?{
if let inputString = getInput(message: message){
return Int(inputString)
} else {
return nil
}
}
func lihatBuah(){
if listBuah.isEmpty {
print("Belum ada item di dalam daftar")
} else {
for (index,column) in listBuah.enumerated() {
print("[\(index + 1)]: \(column)")
}
}
}
func tambahBuah(){
if let name = getInput(message: "Masukkan nama buah"){
listBuah.append(name)
} else {
tambahBuah()
print("Input tidak valid")
}
}
func editBuah(){
lihatBuah()
print("=======================================================")
if let posisi = inputInt(message: "Pilih posisi buah yang akan diganti") {
if posisi <= listBuah.count && posisi > 0 {
if let nama = getInput(message: "Masukkan nama buah"){
listBuah[posisi - 1] = nama
}
} else {
showMenu()
}
} else {
editBuah()
print("Input tidak valid")
}
}
func hapusBuah() {
lihatBuah()
if let posisi = inputInt(message: "Pilih posisi yang akan dihapus"){
if posisi <= listBuah.count && posisi > 0 {
listBuah.remove(at: posisi - 1)
} else {
showMenu()
}
} else {
hapusBuah()
print("Input tidak valid")
}
}
func showMenu() {
print("Selamat datang di Pasar Agung!")
print("---------MENU---------")
print("[1] Tampilkan semua buah")
print("[2] Tambahkan item buah")
print("[3] Ubah item buah")
print("[4] Hapus item buah")
print("[5] keluar")
if let posisi = inputInt(message: "Silahkan pilih menu di atas") {
if posisi <= 5 && posisi > 0 {
print("---------PROCESS---------")
switch posisi {
case 1:
lihatBuah()
break
case 2:
tambahBuah()
break
case 3:
editBuah()
break
case 4:
hapusBuah()
break
case 5:
isRunning = false
print("Terima kasih, silahkan datang kembali!")
break
default:
print("Pilihan Anda salah!")
}
} else {
print("Item menu tidak valid!")
}
} else {
print("Item manu tidak valid!")
}
}
while isRunning {
showMenu()
}