#include <stdio.h>
#include <conio.h>
struct nodetype
{
int info ;
struct nodetype *left , *right ;
};
typedef struct nodetype *nodeptr;
nodeptr maketree (int);
nodeptr getnode();
void setleft( nodeptr , int);
void setright(nodeptr , int);
void pretrav (nodeptr);
int main()
{
nodeptr ptree ,p , q ;
int number,c ;
char ch;
do{
printf (" \n\t---Enter the Number ->");
scanf("%d",&number);
ptree = maketree(number);
printf("\n\t---waiting for while");
//printf ("\n\t---Entered into While loop 1");
p=ptree;
q=NULL;
while (number != p->info && q !=NULL)
{
printf ("---\n\tEntered into While loop 2");
p=q;
if (number < p->info)
q=p->left;
else
q=p->right;
} /*end of w hile */
if ( number == p->info)
printf ("\n\t---%d is a Duplicate number \n", number);
else if (number < p->info)
{
printf("setting left!");
setleft(p , number);}
else
{
printf("setting right!");
setright(p , number);
}
printf("Want to continue YEs Or No");
scanf ("%c", &ch);
} while (ch=='y');
/*end of while */
printf("\n\n Enter your choice \n\n 1-> Enter 1 for Pretraversal \n\n 2-> Enter 2 for Intraversal \n\n 3-> Enter 3 for post ordertraversal");
scanf("%d",&c);
switch(c)
{
case (1) :
pretrav ( ptree);
}
return (0);
}/*end of main */
nodeptr maketree (int x)
{
printf (" \n\t---Maketree() Function is called");
nodeptr p ;
p = getnode ();
p->info = x;
p->right = NULL;
p->left = NULL;
return (p);
}
nodeptr getnode()
{
printf("\n\t---Getnode() function has been called");
nodeptr p ;
p=(struct nodeptr *)malloc(sizeof(nodeptr));
return p ;
}
void setleft(nodeptr p , int x)
{
nodeptr f;
if (p == NULL)
printf ("\n\t---void insertion\n");
else if (p->left != NULL)
printf("\n\t---invalid insertion\n");
else
f = maketree(x);
p->left = f;
}
void setright( nodeptr p , int x)
{
if (p==NULL)
printf ("\n\t---void insertion\n");
else if (p->right != NULL)
printf("\n\t---invalid insertion\n");
else
p->right = maketree(x);
}
void pretrav(nodeptr ptree)
{
if ( ptree!=NULL )
{
printf("%d\n", ptree->info);
preetrav(ptree->left);
preetrav(ptree->right);
}
}
Can Any one help me to resolve the error ..