#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"); } typedef struct exports { int event_code; void (*func_ptr)(void); }exports_t; exports_t func_states[] = { {0, {on_button}}, {1, {on_timer}}, {2, {on_uart}}, {3, {on_power}}, {4, {on_error}} }; // Write your event dispatcher logic here void handle_event(int event_code) { if (event_code >= 0 && event_code < 5) func_states[event_code].func_ptr(); else printf("Unhandled Event"); } int main() { int event; scanf("%d", &event); handle_event(event); return 0; }
Test Cases
Test Results
Input
0
Expected Output
Button Pressed