Dart I/O Menu Pesan Makanan Minuman
KiyaRaven
dart
9 months ago
2.0 kB
6
Indexable
import 'dart:io';
void main() {
List<String> menuMakanan = ['Nasi Goreng', 'Mie Goreng', 'Ayam Penyet', 'Sate', 'Rendang'];
List<String> menuMinuman = ['Teh', 'Kopi', 'Jus Jeruk', 'Air Mineral', 'Soda'];
List<double> hargaMakanan = [20000, 15000, 25000, 30000, 40000];
List<double> hargaMinuman = [5000, 10000, 15000, 3000, 8000];
double totalHarga = 0;
while (true) {
print('=== Menu Pemesanan Makanan & Minuman ===');
print('1. Pesan Makanan');
print('2. Pesan Minuman');
print('3. Lihat Total Harga');
print('4. Keluar');
stdout.write('Pilih menu (1/2/3/4): ');
String? pilihan = stdin.readLineSync();
if (pilihan == '1') {
totalHarga += pesan('Makanan', menuMakanan, hargaMakanan);
} else if (pilihan == '2') {
totalHarga += pesan('Minuman', menuMinuman, hargaMinuman);
} else if (pilihan == '3') {
print('Total harga pesanan: Rp ${totalHarga}');
} else if (pilihan == '4') {
print('Terima kasih telah menggunakan layanan kami!');
break;
} else {
print('Pilihan tidak valid. Silakan coba lagi.');
}
print('');
}
}
double pesan(String jenis, List<String> menu, List<double> harga) {
print('\n=== Menu $jenis ===');
for (int i = 0; i < menu.length; i++) {
print('${i + 1}. ${menu[i]} - Rp ${harga[i]}');
}
stdout.write('Pilih $jenis (1-${menu.length}): ');
int? pilihan = int.tryParse(stdin.readLineSync()!);
if (pilihan != null && pilihan > 0 && pilihan <= menu.length) {
stdout.write('Jumlah pesanan: ');
int? jumlah = int.tryParse(stdin.readLineSync()!);
if (jumlah != null && jumlah > 0) {
double total = harga[pilihan - 1] * jumlah;
print('Total harga $jenis: Rp ${total}');
return total;
} else {
print('Jumlah pesanan tidak valid.');
}
} else {
print('Pilihan $jenis tidak valid.');
}
return 0;
}Editor is loading...
Leave a Comment