import 'dart:io'; void main() { bool lightsOn = false; double thermostatTemp = 20.0; bool securityArmed = false; const minTemp = 15.0; const maxTemp = 30.0; 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(); switch (choice) { case '1': lightsOn = !lightsOn; print('Lights are now ${lightsOn ? "ON" : "OFF"}.'); break; case '2': stdout.write('Set thermostat temperature (${minTemp}°C - ${maxTemp}°C): '); String? tempInput = stdin.readLineSync(); if (tempInput != null) { double? newTemp = double.tryParse(tempInput); if (newTemp != null && newTemp >= minTemp && newTemp <= maxTemp) { thermostatTemp = newTemp; print('Thermostat set to ${thermostatTemp}°C.'); } else { print('Invalid temperature. Please enter a value between $minTemp and $maxTemp.'); } } break; case '3': securityArmed = !securityArmed; print('Security system is now ${securityArmed ? "ARMED" : "DISARMED"}.'); break; case '4': print('\nSystem Status:'); print('- Lights: ${lightsOn ? "ON" : "OFF"}'); String tempMessage = '- Thermostat: ${thermostatTemp}°C'; if (thermostatTemp % 15 == 0) { // Multiple of both 3 and 5 tempMessage += ' - Perfect Day'; } else if (thermostatTemp % 3 == 0) { tempMessage += ' - Cool Day'; } else if (thermostatTemp % 5 == 0) { tempMessage += ' - Warm Day'; } print(tempMessage); print('- Security System: ${securityArmed ? "ARMED".toUpperCase() : "DISARMED".toUpperCase()}'); break; case '5': print('Exiting the system. Goodbye!'); return; default: print('Invalid choice. Please try again.'); } } }