What is wrong in this code ....?

#include
#include<math.h>
using namespace std;

int main()

{
int a,b,c;

 cin>>a>>b>>c;
 if(a>=-100 && b>=-100 && c>=-100 && a<=100 && b<=100 && c<=100)
 {
	 int d=(b^2)-(4*a*c);
	 if(d>0)
	 {
		 int p=((-b)-sqrt(d))/(2*a);
		 int q=((-b)+sqrt(d))/(2*a);
		 cout<<"Real and Distinct"<<endl;
		 cout<<p<<q;

	 }
	 else if(d==0)
	 {
		 int r=((-b)/(2*a));
		 cout<<"Real and Equal"<<endl;
		 cout<<r<<""<<r;


	 }
	 else
	 {
		 cout<<"Imaginary"<<endl;

	 }

 }
return 0;

}

Save your code on ide.codingbocks.com and then share its link.

i found the mistake thanx for ur help