Project 2 - Implement the Code for controlling the retraction and extension of Airplane’s landing gear
#include <stdio.h>
// Enum to represent the different states of the elevator
enum State {
GEAR_DOWN,
CHECK_BEFORE_TAKEOFF,
GEAR_UP,
CHECK_BEFORE_LANDING,
LOWERING_GEAR,
RAISING_GEAR
};
void GearDown() {
printf("Gear Down\n");
}
void CheckingBeforeTakeoff() {
printf("Checking Before Takeoff\n");
}
void GearUp() {
printf("Gear Up\n");
}
void CheckingBeforeLanding() {
printf("Checking Before Landing\n");
}
void LoweringGear() {
printf("Lowering Gear\n");
}
void RaisingGear() {
printf("Raising Gear\n");
}
int main() {
enum State current_state = GEAR_DOWN;
while (1) {
switch (current_state) {
case GEAR_DOWN:
GearDown();
current_state = CHECK_BEFORE_TAKEOFF;
break;
case CHECK_BEFORE_TAKEOFF:
CheckingBeforeTakeoff();
current_state = GEAR_UP;
break;
case GEAR_UP:
GearUp();
current_state = CHECK_BEFORE_LANDING;
break;
case CHECK_BEFORE_LANDING:
CheckingBeforeLanding();
current_state = LOWERING_GEAR;
break;
case LOWERING_GEAR:
LoweringGear();
current_state = RAISING_GEAR;
break;
case RAISING_GEAR:
RaisingGear();
current_state = GEAR_DOWN;
break;
}
}
return 0;
}