int main() { char programName[] = "trees"; int data; int chosenOperation; printf ( "Welcome to %s\n", programName ); BinaryTree *theTree = NULL; initializeTree ( theTree ); do { printf ( "%s", mainMenuString ); chosenOperation = fetchINT ( stdin ); switch ( chosenOperation ) { case AddToTree: if ( isTreeFull ( *theTree ) ) { printf ( "sorry the queue is full\n" ); } else { printf ( "Enter a number: " ); data = fetchINT ( stdin ); addToTree ( theTree, data ); } break; case 2: if ( isTreeEmpty ( *theTree ) ) { printf ( "sorry the queue is empty\n" ); } else { printf ( "The number is %d\n", takeFromTree ( theTree, data ) ); } break; case 3: if ( isTreeEmpty ( *theTree ) ) { printf ( "sorry the queue is empty\n" ); } else { printTree ( theTree ); } break; case 4: printf ( "bye\n" ); break; default: printf ( "Oops Wrong input\n" ); chosenOperation = AddToTree; } } while ( ! ( ( chosenOperation < AddToTree ) || ( chosenOperation >= Quit ) ) ); emptyTree ( theTree ); free ( theTree ); return EXIT_SUCCESS; }
void traverse(Tree* tp) { if (!isTreeEmpty(tp)) { traverseNode(tp->root); } }