import 'dart:io'; void main() { const int minTemp = 15; const int maxTemp = 30; bool lightsOn = false; int temperature = 20; bool securityArmed = false; while (true) { print('\nChoose an option:'); print('1. Toggle lights'); print('2. Set thermostat'); print('3. Arm/Disarm security system'); print('4. View system status'); print('5. Exit'); String? choice = stdin.readLineSync(); switch (choice) { case '1': lightsOn = !lightsOn; print('Lights turned ${lightsOn ? "ON" : "OFF"}'); break; case '2': int? newTemp; do { print('Enter temperature ($minTemp-$maxTemp):'); String? tempInput = stdin.readLineSync(); newTemp = int.tryParse(tempInput ?? ''); if (newTemp == null || newTemp < minTemp || newTemp > maxTemp) { print('Invalid temperature. Try again.'); newTemp = null; } } while (newTemp == null); temperature = newTemp; print('Temperature set to $temperature°C'); break; case '3': securityArmed = !securityArmed; print('Security system ${securityArmed ? "ARMED" : "DISARMED"}'); break; case '4': print('\n=== SYSTEM STATUS ==='); print('Lights: ${lightsOn ? "ON" : "OFF"}'); print('Temperature: $temperature°C'); print('Security: ${securityArmed ? "ARMED" : "DISARMED"}'); if (temperature % 3 == 0 && temperature % 5 == 0) { print('Perfect Day'); } else if (temperature % 3 == 0) { print('Cool Day'); } else if (temperature % 5 == 0) { print('Warm Day'); } break; case '5': print('Exiting program...'); return; default: print('Invalid choice. Try again.'); } } }