import 'dart:io'; void main() { List> incomeList = []; List> expenseList = []; bool running = true; while (running) { print('\n---- Budget Management ----'); print('1. Add Income'); print('2. Add Expense'); print('3. View Summary'); print('4. Exit'); stdout.write('Choose option: '); int choice = int.parse(stdin.readLineSync()!); if (choice == 1) { stdout.write('Enter income description: '); String desc = stdin.readLineSync()!; stdout.write('Enter income amount: '); double amount = double.parse(stdin.readLineSync()!); if (amount > 0) { incomeList.add({desc: amount}); print('Income added successfully'); } else { print('Invalid amount'); } } else if (choice == 2) { stdout.write('Enter expense description: '); String desc = stdin.readLineSync()!; stdout.write('Enter expense amount: '); double amount = double.parse(stdin.readLineSync()!); if (amount > 0) { expenseList.add({desc: amount}); print('Expense added successfully'); } else { print('Invalid amount'); } } else if (choice == 3) { double totalIncome = 0; double totalExpense = 0; for (var item in incomeList) { totalIncome += item.values.first; } for (var item in expenseList) { totalExpense += item.values.first; } double net = totalIncome - totalExpense; print('\n---- Summary ----'); print('Total Income: \$${totalIncome}'); print('Total Expenses: \$${totalExpense}'); if (net >= 0) { print('Net Profit: \$${net}'); } else { print('Net Loss: \$${net.abs()}'); } // Optional Tax double tax = net > 0 ? net * 0.15 : 0; if (tax > 0) { print('Tax to pay (15%): \$${tax}'); } } else if (choice == 4) { print('Exiting program...'); running = false; } else { print('Invalid option'); } } }