Project 2 - Implement the Code for controlling the retraction and extension of Airplane’s landing gear
/*
* Airplane_landing.c
*
* Created on: 11-Feb-2023
* Author: 91984
*/
#include<stdio.h>
typedef enum
{
RED,
GREEN
}state_type;
typedef struct
{
char* Signal[2];
char* Hydraulic_system[2];
char* Gear_status [2];
char* NEXT_Condition[2];
char* Current_state_indication[2];
char* Brake[2];
}state;
state state_machine[1]= {
{{"RED","GREEN"},{"PUSH OUT","PULL IN"},{"PUT DOWN","LIFT UP"},{"LANDING","TAKEOFF"},
{"NOT ALLOWED","ALLOWED"},{"MUST USED","NOT USE"}}
};
state_type current_state;
static int control_input;
int main()
{
current_state = RED;
while(1)
{
printf("ENTER THE CONTROL INPUT :");
fflush(stdout);
scanf("%d",&control_input);
printf("Signal status : %s\n",state_machine[current_state].Signal[control_input]);
printf("Take_off : %s\n",state_machine[current_state].Current_state_indication[control_input]);
printf("GEAR Valve : %s\n",state_machine[current_state].Gear_status[control_input]);
printf("Next Level: %s\n",state_machine[current_state].NEXT_Condition[control_input]);
printf("Wheel Hydraulic Piston : %s\n",state_machine[current_state].Hydraulic_system[control_input]);
printf("Disc Brake : %s\n",state_machine[current_state].Brake[control_input]);
}
}
OUTPUT
ENTER THE CONTROL INPUT :0
Signal status : RED
Take_off : NOT ALLOWED
GEAR Valve : PUT DOWN
Next Level: LANDING
Wheel Hydraulic Piston : PUSH OUT
Disc Brake : MUST USED
ENTER THE CONTROL INPUT :1
Signal status : GREEN
Take_off : ALLOWED
GEAR Valve : LIFT UP
Next Level: TAKEOFF
Wheel Hydraulic Piston : PULL IN
Disc Brake : NOT USE