// فاطمه ابو بكر سامبا 251001974 - Smart Home Automation System import 'dart:io'; class SmartHome { bool lightsOn = false; int temperature = 20; bool securityArmed = false; void toggleLights() { lightsOn = !lightsOn; print('Lights are now ${lightsOn ? "ON" : "OFF"}'); } void setTemperature(int newTemp) { if (newTemp < 15 || newTemp > 30) { print('Invalid temperature! Please enter between 15°C and 30°C.'); } else { temperature = newTemp; print('Temperature set to $temperature°C'); fizzBuzzTemperature(); } } void toggleSecurity() { securityArmed = !securityArmed; print('Security system is now ${securityArmed ? "ARMED" : "DISARMED"}'); } void viewStatus() { print('\n--- System Status ---'); print('Lights: ${lightsOn ? "ON" : "OFF"}'); print('Temperature: $temperature°C'); print('Security: ${securityArmed ? "ARMED" : "DISARMED"}'); } void fizzBuzzTemperature() { if (temperature % 3 == 0 && temperature % 5 == 0) { print("Perfect Day! Temperature: $temperature°C"); } else if (temperature % 3 == 0) { print("Cool Day! Temperature: $temperature°C"); } else if (temperature % 5 == 0) { print("Warm Day! Temperature: $temperature°C"); } } } void main() { final system = SmartHome(); while (true) { print('\nWelcome to the Smart Home System!'); print('1. Turn lights ON/OFF'); 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': system.toggleLights(); break; case '2': stdout.write('Enter new temperature (15–30): '); int? temp = int.tryParse(stdin.readLineSync() ?? ''); if (temp != null) system.setTemperature(temp); break; case '3': system.toggleSecurity(); break; case '4': system.viewStatus(); break; case '5': print('Exiting the system. Goodbye!'); return; default: print('Invalid choice. Please try again.'); } } }