#include <stdio.h>

int main(void);
int button_clicked(int position);
int cycle_completed(int position);


int main(void) 
{
	int position = 0;
	
	/*
	positions: 
	0 = closed
	1 = opening
	2 = stopped_while_opening
	3 = open
	4 = closing
	5 = stopped_while_closing
	*/
	
	position = button_clicked(position);
	position = cycle_completed(position);
	position = button_clicked(position);
	position = button_clicked(position);
	position = button_clicked(position);
	position = button_clicked(position);
	position = button_clicked(position);
	position = cycle_completed(position);
	
	return 0;
}

int button_clicked(int position)
{
	if (!position)
	{
		printf(">Button clicked.\nDOOR: OPENING\n");
		return 1;
	}
	if (position == 1)
	{
		printf(">Button clicked.\nDOOR: STOPPED_WHILE_OPENING\n");
		return 2;
	}
	if (position == 2)
	{
		printf(">Button clicked.\nDOOR: CLOSING\n");
		return 4;
	}
	if (position == 3)
	{
		printf(">Button clicked.\nDOOR: CLOSING\n");
		return 4;
	}
	if (position == 4)
	{
		printf(">Button clicked.\nDOOR: STOPPED_WHILE_CLOSING\n");
		return 5;
	}
	if (position == 5)
	{
		printf(">Button clicked.\nDOOR: OPENING\n");
		return 1;
	}
}

int cycle_completed(int position)
{
	if (position == 1)
	{
		printf(">Cycle complete. DOOR: OPEN\n");
		return 3;
	}
	if (position == 4)
	{
		printf(">Cycle complete. DOOR: CLOSED\n");
		return 0;
	}
}