#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX_HOUSES 5
#define PHONE_NUMBER_LENGTH 20

// Structure to represent a house
typedef struct {
    char phoneNumber[PHONE_NUMBER_LENGTH];
} House;

// Function to send SMS alert
void sendSMS(char *phoneNumber, char *message) {
    // Code to send SMS via GSM module
    printf("Sending SMS to %s: %s\n", phoneNumber, message);
    
    // Simulate recording of SMS
    printf("Recording SMS: [%s] %s\n", phoneNumber, message);
}

// Function to make a call
void makeCall(char *phoneNumber) {
    // Code to make a call via GSM module
    printf("Making call to %s\n", phoneNumber);
    
    // Simulate recording of call
    printf("Recording call: [%s]\n", phoneNumber);
}

// Function to trigger light alert
void lightAlert(char *phoneNumber) {
    printf("Light alert triggered!\n");
    char message[100];
    snprintf(message, sizeof(message), "ALERT: Light alert activated at your property!");
    sendSMS(phoneNumber, message);
}

// Function to trigger dangerous alert
void dangerousAlert(char *phoneNumber) {
    printf("Dangerous alert triggered!\n");
    char message[100];
    snprintf(message, sizeof(message), "ALERT: Dangerous situation detected at your property!");
    sendSMS(phoneNumber, message);
    makeCall(phoneNumber);
}

int main() {
    // Simulating a group of houses
    House houses[MAX_HOUSES] = {
        {"+1234567890"}, // Replace with actual phone number for each house
        {"+2345678901"},
        {"+3456789012"},
        {"+4567890123"},
        {"+5678901234"}
    };

    int houseIndex;

    // Simulating button press for light alert
    printf("Enter the house number for light alert (0-%d): ", MAX_HOUSES - 1);
    scanf("%d", &houseIndex);
    if (houseIndex >= 0 && houseIndex < MAX_HOUSES) {
        lightAlert(houses[houseIndex].phoneNumber);
    } else {
        printf("Invalid house number.\n");
    }

    // Simulating button press for dangerous alert
    printf("Enter the house number for dangerous alert (0-%d): ", MAX_HOUSES - 1);
    scanf("%d", &houseIndex);
    if (houseIndex >= 0 && houseIndex < MAX_HOUSES) {
        dangerousAlert(houses[houseIndex].phoneNumber);
    } else {
        printf("Invalid house number.\n");
    }

    return 0;
}