#include <stdio.h> void on_button() { printf("Button Pressed"); } void on_timer() { printf("Timer Expired"); } void on_uart() { printf("UART Received"); } void on_power() { printf("Power On"); } void on_error() { printf("Error Detected"); } // Write your event dispatcher logic here void handle_event(int event_code) { void (*Handle_Evenet_1[])()={on_button,on_timer, on_uart,on_power,on_error}; int total_event =sizeof(Handle_Evenet_1)/sizeof(Handle_Evenet_1[0]); if(event_code >= 0 && event_code < total_event) { Handle_Evenet_1[event_code](); } else { printf("Unhandled Event"); } // Your logic } int main() { int event; scanf("%d", &event); handle_event(event); return 0; }
Test Cases
Test Results
Input
0
Expected Output
Button Pressed