#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;
}
Input
0
Expected Output
Button Pressed