//int main( void )
int tree_traversal_main()
{
	Tree* tree = new Tree();
	tree->AddNode( 30 );
	tree->AddNode( 10 );
	tree->AddNode( 20 );
	tree->AddNode( 40 );
	tree->AddNode( 50 );

	cout << "In order traversal" << endl;
	tree->InOrder( tree->Root( ) );
	cout << endl << endl;

	cout << "Pre order traversal" << endl;
	tree->PreOrder( tree->Root( ) );
	cout << endl << endl;

	cout << "Pre order traversal - no recursion" << endl;
	tree->PreOrder_NoRecursion( tree->Root( ) );
	cout << endl << endl;

	cout << "Post order traversal" << endl;
	tree->PostOrder( tree->Root( ) );
	cout << endl << endl;
	
	cout << "Tree Height : " << tree->Height( tree->Root() ) << endl;
	cout << endl << endl;

	delete tree;
	return 0;
}
std::string 




int main( void )
{
	Tree* tree = new Tree();
	tree->AddNode( 30 );
	tree->AddNode( 10 );
	tree->AddNode( 20 );
	tree->AddNode( 40 );
	tree->AddNode( 50 );

	cout << "In order traversal" << endl;
	tree->InOrder( tree->Root( ) );
	cout << endl << endl;

	cout << "Pre order traversal" << endl;
	tree->PreOrder( tree->Root( ) );
	cout << endl << endl;

	cout << "Pre order traversal - no recursion" << endl;
	tree->PreOrder_NoRecursion( tree->Root( ) );
	cout << endl << endl;

	cout << "Post order traversal" << endl;
	tree->PostOrder( tree->Root( ) );
	cout << endl << endl;
	
	cout << "Tree Height : " << tree->Height( tree->Root() ) << endl;
	cout << endl << endl;

    cout << Round( 123.456, 2 ) << endl;


	delete tree;

	return 0;
}