Hi all,

I am working on a Binary Search Tree but cant seem to get it to run. Evrything I run the code i does some funny stuff that i dont understand. Please would someone help sort out the problem. thanks for any help

Code:#include <iostream.h> #include <stdlib.h> #include <conio.h> struct tree_node { int data; int menu; tree_node* left; tree_node* right; }; tree_node * insert(tree_node *, int); //void tree(); void in_order(tree_node *tree); void ass_order(tree_node *tree); void desc_order(tree_node *tree); tree_node* insert(tree_node * tree, int element) { if(tree==NULL) { tree = new tree_node; tree->left=tree->right=NULL; tree->data=element; } else if(element < tree->data) { tree->left=insert(tree->left,element); } else tree->right=insert(tree->right,element); return(tree); } void in_order(tree_node *tree) { if(tree!=NULL) { cout<<tree->data; in_order(tree->left); in_order(tree->right); getch(); } } void ass_order(tree_node *tree) { if(tree!=NULL) { ass_order(tree->left); cout<<tree->data; ass_order(tree->right); getch(); } } void desc_order(tree_node *tree) { if(tree!=NULL) { desc_order(tree->right); cout<<tree->data; desc_order(tree->left); getch(); } } menu() { tree_node * tree; tree=NULL; int choice, element; do{ cout<< "======== Main Menu ========\n"; cout<<"1.Enter Number for the tree.\n"; cout<<"2.Numbers in inputed order.\n"; cout<<"3.Numbers in ascending order.\n"; cout<<"3.Numbers in descending order.\n"; cout<<"4.Exit.\n"; cout<<"\nPlease make a choice: "; cin>>choice; } while(choice!=1); switch(choice) //used to get the choice form the user. { case 1: //promts the user to put a number into the tree cout<<"\nEnter a number to add to the tree:"; cin>>element; tree = insert(tree,element); case 2: //prnits numbers in order inputed cout<<"\nInput Order: "; in_order(tree); case 3: //prnits numbers in ascending order cout<<"\nAscending Order: "; ass_order(tree); case 4: //prnits numbers in descending order cout<<"\nDescending Order: "; desc_order(tree); } } return main;