first work out how wide your screen is (usually about 80 characters)
at each level n, the elements will be 80/(2^n) characters apart (although you may need to take into account the space the characters themselves take up.
If you want a simple check that the binary tree has been created properly (and it appears it probably has) you can simply to a preorder traversal....
-
-
printTree(Node n)
-
{
-
printTree(n.Left);
-
printf("%d ", n.value);
-
printTree(n.Right);
-
}
-
and the values should all be in order. (This won't tell you for certain that the tree is correct, but ordering things is the most common use for a binary tree, and if you can show that it works for many different cases then it's probably right). If you want to make sure you have a Balanced Binary Tree, you can either print visually as you intended, or have each node print it's value and Depth. Then you make sure you have enough of any particular depth.