資源簡介
用VC++寫的導線測量程序,對初學測繪和VC++的人還是有幫助的,里面有詳細的說明文檔
代碼片段和文件信息
#include
#include
using?namespace?std;
int??main()
{int?n;
cout<<“輸入邊數“< cin>>n;
double?a[50]b[50]c[50]d[50]A[50]B[50]Cx[50]Cy[50]X[50]Y[50];
double?f1(doubledoubledouble);
double?f2(doubledoubledouble);
double?jsum=0.0sum_x=0sum_y=0sum_z=0sum_b=0xy;
int?i;
cout<<“輸入已知點坐標“< cin>>x>>y;
cout<<“先輸入內角再輸已知方位角“< for?(i=0;i<=n;i++)
{cin>>a[i]>>b[i]>>c[i];
d[i]=f1(a[i]b[i]c[i]);//調用函數,角換弧
sum_b+=A[i];//求總長
}
cout<<“輸入對應邊“< for(i=0;i cin>>A[i];
for(i=0;i j=sum-(n-2)*3.14;
if(?j<3.14*sqrt(n)/10800&&j>-3.14*sqrt(n)/10800)
{for(i=0;i d[i]+=-j/n;}
else?{cout<<“錯誤角度“;return?0;}//結束程序
B[0]=d[n];
for(i=1;i B[i]=B[i-1]+d[i]-3.14;
for(i=0;i {Cx[i]=A[i]*cos(B[i]);
Cy[i]=A[i]*sin(B[i]);}
for(i=0;i {sum_x+=Cx[i];
sum_y+=Cy[i];
}
sum_z=sqrt(sum_x*sum_x+sum_y*sum_y);//fD
if(sum_z/sum_b<=(1.0/3200))//判斷導線全長相對閉合差
for(i=0;i {Cx[i]+=f2(A[i]sum_xsum_b);
Cy[i]+=f2(A[i]sum_ysum_b);}
else?{cout<<“錯誤“;return?0;}//結束程序
X[0]=x;
Y[0]=y;
for(i=1;i {X[i]=X[i-1]+Cx[i-1];Y[i]=Y[i-1]+Cy[i-1];}
for(i=0;i {cout<<“X“<return?0;
}
double?f1(double?adouble?bdouble?c)//將角度換為弧度
{
double?kj;
k=a+b/60+c/3600;
j=(k/180)*3.14;
return?j;}
double?f2(double?adouble?bdouble?c)
{double?ij;
i=a/c;
j=b*i;
return?(-j);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1582??2010-06-26?11:20??導線測量\Cpp1.cpp
?????文件??????23040??2010-06-26?11:20??導線測量\說明.doc
?????目錄??????????0??2010-12-09?09:41??導線測量
-----------?---------??----------?-----??----
????????????????24622????????????????????3
評論
共有 條評論