import 'dart:io'; const int minTemp = 15; const int maxTemp = 30; void main() { bool lightsOn = false; int thermostat = 20; bool securityArmed = false; print("Welcome to the Smart Home System!"); while (true) { print("\nPlease choose an action:"); print("1. Toggle lights"); print("2. Set thermostat temperature"); print("3. Arm/disarm security system"); print("4. View system status"); print("5. Exit"); stdout.write("Enter your choice: "); String? choice = stdin.readLineSync(); if (choice == '5') { print("Exiting the system. Goodbye!"); break; } switch (choice) { case '1': lightsOn = !lightsOn; print("Lights are now ${lightsOn ? 'ON' : 'OFF'}."); break; case '2': stdout.write("Set thermostat temperature ($minTemp℃ - $maxTemp℃): "); String? tempInput = stdin.readLineSync(); int? temp = int.tryParse(tempInput ?? ''); if (temp != null && temp >= minTemp && temp <= maxTemp) { thermostat = temp; print("Thermostat set to $thermostat℃."); } else { print("Invalid temperature. Please enter a value between $minTemp and $maxTemp."); } break; case '3': stdout.write("Enter 'arm' to arm or 'disarm' to disarm the system: "); String? status = stdin.readLineSync()?.toLowerCase(); if (status == 'arm') { securityArmed = true; print("Security system ARMED."); } else if (status == 'disarm') { securityArmed = false; print("Security system DISARMED."); } else { print("Invalid input. Please enter 'arm' or 'disarm'."); } break; case '4': String tempStatus = ''; if (thermostat % 3 == 0 && thermostat % 5 == 0) { tempStatus = 'Perfect Day'; } else if (thermostat % 3 == 0) { tempStatus = 'Cool Day'; } else if (thermostat % 5 == 0) { tempStatus = 'Warm Day'; } print("\nSystem Status:"); print("- Lights: ${lightsOn ? 'ON' : 'OFF'}"); print("- Thermostat: $thermostat℃${tempStatus.isNotEmpty ? ' - $tempStatus' : ''}"); print("- Security System: ${securityArmed ? 'ARMED' : 'DISARMED'}"); break; default: print("Invalid choice. Please try again."); } } }