Quantcast
Channel: Programming Forums
Viewing all articles
Browse latest Browse all 51036

Graphic.h with Binary Tree Error

$
0
0
Hi guys i am making binary tree in graphics.h the problem is that it opens multiple windows and also gives error...please help


#include <iostream>
#include <graphics.h>

using namespace std;

class Graph
{
	private:
		int cCordX;
		int cCordY;
		int cRadius;
		int tCordX;
		int tCordY;
		int lRightCordX1;
		int lRightCordY1;
		int lRightCordX2;
		int lRightCordY2;
		int lLeftCordX1;
		int lLeftCordY1;
		int lLeftCordY2;
		int lLeftCordX2;
	public:
	Graph();
	void makeCircle(char);
	void drawLeftLine();
	void drawRightLine();
};

Graph::Graph()
{
	initwindow(800,500);
	//Circle
	cCordX = 400 ;
	cCordY = 50 ;
	cRadius = 15 ;
	//Text
	tCordX = 392 ;
	tCordY = 45 ;
	//Right Cords
	lRightCordX1 = 400;
	lRightCordY1 = 65;
	lRightCordX2 = 450;
	lRightCordY2 = 100;
	//Left Cords
	lLeftCordX1 = 400;
	lLeftCordY1 = 65;
	lLeftCordX2 = 350;
	lLeftCordY2 = 100;
}

void Graph:: makeCircle(char a)
{
	circle(cCordX , cCordY , cRadius);
	outtextxy(tCordX,tCordY,"15");  // Parameters(x-axis,y-axis,radius)(392,45,"15")
}
void Graph::drawRightLine()
{
	line(lRightCordX1,lRightCordY1,lRightCordX2,lRightCordY2); //(400,65,350,100) Rigth
}

void Graph::drawLeftLine()
{
	line(lLeftCordX1,lLeftCordY1,lLeftCordX2,lLeftCordY2); //(400,65,350,100) Left
}

class Tree:public Graph
{
	private:
		int data;
		Tree *left,*rigth,*root,*newNode,*branch;
	public:
		void append(int);
};

void Tree :: append(int a)
{
	Graph();
	makeCircle('2');
	drawLeftLine();
	drawRightLine();
	newNode = new Tree;
	newNode->data = a;
	newNode->left = newNode->rigth = NULL;

	if(root == NULL)
	{
		root = newNode;
	}
	else
	{
		branch = root;

		while(branch != NULL)
		{
			if(branch->data > a)
			{
				if(branch->rigth)
				{
					branch = branch->rigth ;
				}
				else
				{
					branch->rigth = newNode;
					break;
				}
			}
			else if(branch->data < a)
			{
				if(branch->left)
				{
					branch = branch->left;
				}
				else
				{
					branch->left = newNode;
					break;
				}
			}
			else
			{
				cout<<"Dublicate Value"<<endl;
			}
		}
	}
};

int main()
{

   /* request autodetection */

   int gdriver = DETECT, gmode, errorcode;




   /* initialize graphics and local variables */

   initgraph(&gdriver, &gmode, "");


	Tree st;
	st. append(1);
	st. append(1);
	system("PAUSE");
	exit(1);
}



Viewing all articles
Browse latest Browse all 51036

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>