#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) { // Your logic void (*f0)(void) = &on_button; void (*f1)(void) = &on_timer; void (*f2)(void) = &on_uart; void (*f3)(void) = &on_power; void (*f4)(void) = &on_error; void (*ops[5])(void) = {f0,f1,f2,f3,f4}; if(event_code >= 0 && event_code <=4){ ops[event_code](); } 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