#include <stdio.h> #define BUTTON_PRESS 0 #define TIMER_EXPIRE 1 #define UART_RECEIVED 2 #define POWER_ON 3 #define ERR_DETECTED 4 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"); } void handle_event(int event_code) { void (*events[])(void) { on_button, on_timer, on_uart, on_power, on_error }; if (event_code >= BUTTON_PRESS && event_code <= ERR_DETECTED) events[event_code](); else { printf("Unhandled Event\n"); } } int main() { int event; scanf("%d", &event); handle_event(event); return 0; }
Test Cases
Test Results
Input
0
Expected Output
Button Pressed