为什么程序执行一半就不能向后执行了?求救...
#include <iostream>#include <cmath>
#define pi 3.141592653
using namespace std;
void main()
{cout<<"请输入已知点A,B,C三点的坐标:"<<endl;
cout<<"(提示:输入的顺序是按照XA,XB...排的 ,请理解后输入)"<<endl;
int x[3],y[3],a,b,c,d;
for(d=0;d<=2;d++)
{cin>>x[d];}
for(d=0;d<=2;d++)
{cin>>y[d];}
cout<<endl;
double i_,j_,k_;
i_=x[0]*x[0]-2*x[0]*x[1]+x[1]*x[1]+y[0]*y[0]-2*y[0]*y[1]+y[1]*y[1];
j_=x[0]*x[0]-2*x[0]*x[2]+x[2]*x[2]+y[0]*y[0]-2*y[0]*y[2]+y[2]*y[2];0
k_=x[2]*x[2]-2*x[2]*x[1]+x[1]*x[1]+y[2]*y[2]-2*y[2]*y[1]+y[1]*y[1];
a=sqrt(i_);
b=sqrt(j_);
c=sqrt(k_);
double A,B,C;
double work_1(double m,double n,double p); //函数申明1
A=work_1(a,b,c); //调用函数算A角
B=work_1(b,a,c); //调用函数算B角
C=work_1(c,a,b); //调用函数算C角
if(A+B==pi&&B+C==pi&&A+C==pi) //危险圆
{cout<<"危险圆,错误结果!";}
else
cout<<"输入观测得水平角a_,b_,c_:"<<endl;
double a_,b_,c_;
double work_2(double x,double y,double z); //函数申明2 -----执行到这里, 后面的都没有执行!
double a_1,a_2,a_3,b_1,b_2,b_3,c_1,c_2,c_3;
cin>>a_1>>a_2>>a_3;
a_=work_2(a_1,a_2,a_3);
cin>>b_1>>b_2>>b_3;
b_=work_2(b_1,b_2,b_3);
cin>>c_1>>c_2>>c_3;
c_=work_2(c_1,c_2,c_3);
double i,j,k;
double P_1,P_2,P_3;
i=1/tan(A)-1/tan(a_);j=1/tan(B)-1/tan(b_);k=1/tan(C)-1/tan(c_);
P_1=1/i;P_2=1/j;P_3=1/k;
double h,X,Y;
h=P_1+P_2+P_3;
X=P_1*x[0]/h+P_2*x[1]/h+P_3*x[2]/h;
Y=P_1*y[0]/h+P_2*y[1]/h+P_3*y[2]/h;
cout<<"点P的坐标是:("<<X<<","<<Y<<")"<<endl;
}
double work_1(double x,double y,double z)
{double w;
w=acos(y*y/2/y/z+z*z/2/y/z-x*x/2/y/z);
return w;
}
double work_2(double x,double y,double z)
{double e;
e=pi*(x+y/60+z/60/60)/180;
return e;
}
问题我标记在程序中了 请高手帮忙啊!!!