#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 (*arr[5]) (void) = {on_button, on_timer, on_uart, on_power, on_error};
switch(event_code)
{
case 0:
arr[0]();
break;
case 1:
arr[1]();
break;
case 2:
arr[2]();
break;
case 3:
arr[3]();
break;
case 4:
arr[4]();
break;
default:
printf("Unhandled Event");
break;
}
}
int main() {
int event;
scanf("%d", &event);
handle_event(event);
return 0;
}
/*
Plan:
- create an array of the functions
- create a switch case on the event_code
- return the function as per the event code
*/
Input
0
Expected Output
Button Pressed