Challenge

Project 2 - Implement the Code for controlling the retraction and extension of Airplane’s landing gear

#include <stdio.h>

// Enum representing the states of the landing gear FSM

typedef enum {

GEAR_UP,

GEAR_DOWN,

GEAR_TRANSITION

} GearState;

// Function prototypes

void gearUp();

void gearDown();

void gearTransition();

// Variable representing the current state of the landing gear FSM

GearState currentState = GEAR_UP;

int main() {

// Simulate a sequence of events

gearDown(); // Start with gear down

// Transition to gear up after some time

gearTransition();

// Simulate flying with gear up for a while

// ...

// Transition to gear down when landing is imminent

gearTransition();

// Simulate landing with gear down

// ...

return 0;

}

// Function to handle the gear up state

void gearUp() {

if (currentState != GEAR_UP) {

printf("Landing gear is retracting.\n");

// Perform actions necessary to retract the landing gear

currentState = GEAR_UP;

}

}

// Function to handle the gear down state

void gearDown() {

if (currentState != GEAR_DOWN) {

printf("Landing gear is extending.\n");

// Perform actions necessary to extend the landing gear

currentState = GEAR_DOWN;

}

}

// Function to handle the transition between gear states

void gearTransition() {

printf("Transitioning landing gear...\n");

// Perform actions necessary for the transition

currentState = GEAR_TRANSITION;

}

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.