資源簡介
用于全站儀坐標導線平差、使用方法以及具體步驟在readme文件里。

代碼片段和文件信息
#include?
#include?
#include?
#include?
void?main()
{
int?nicd;
double?A;
double?kfm;
????double?sh=0.0;
?????FILE?*fp;
?char?tstr[5];?????????//變量名前加t表示臨時變量
double?tatbtz;
struct?coordinate
{
char?str[5];
double?x;
double?y;
double?z;
};
struct?coordinate?*p;
double?*_p*_H;
printf(“\n“);
printf(“=======================<全站儀閉合導線坐標平差程序>============================\n\a“);
for(i?=?0;?i?<=2?;?i?++?)
{???
printf(“\n\a“);
}?
printf(“使用前請仔細閱讀自述文件(readme.txt)\n\a“);
for(i?=?0;?i?<=2?;?i?++?)
{???
printf(“\n\a“);
}?
printf(“請輸入控制點閉合圈的標號\n\a“);
printf(“-->\a“);
scanf(“%d“&d);
printf(“請輸入全部控制點個數(shù)\n\a“);
printf(“-->\a“);
scanf(“%d“&n);
p=(struct?coordinate?*)calloc(n+1sizeof(struct?coordinate));?//用于存儲坐標數(shù)據(jù)
_p=(double?*)calloc(n-1sizeof(double));?????//用于存貯邊長的數(shù)組
_H=(double?*)calloc(n-1sizeof(double));
printf(“下面開始按順序輸入控制點坐標\n\a“);
for(i?=?0;?i {
??????? printf(“-->\a“);
scanf(“%s“tstr);
strcpy((*(p+i)).str??tstr);
scanf(“%lf%lf%lf“&ta&tb&tz);
(*(p+i)).x?=?ta;
(*(p+i)).y?=?tb;
(*(p+i)).z?=?tz;
}
printf(“=============================請檢核你所輸入的數(shù)據(jù)=============================\n\a“);
for(i?=?0;?i {
????????
printf(“%5s?x=%lfy=%lfz=%lf\n\a“(*(p+i)).str(*(p+i)).x(*(p+i)).y(*(p+i)).z);
}
????printf(“下一步?Y<1>N<0>\n\a“);
printf(“-->\a“);
????scanf(“%d“&c);
if(c==0)
{ printf(“程序已終止運行!\n\a“);
????system(“PAUSE“);//窗口停留
exit(0);
}
else
{
//////////////////////////////////////////////////////////////////
?????if((fp?=?fopen(“l(fā)og.txt““a“))?==?NULL)
?{
????printf(“===========================日志創(chuàng)建失敗!=============================\n\a“);
system(“PAUSE“);//窗口停留
?? ????exit(0);
?}
????????else
{
????????????????fprintf(fp“============================第%d個控制點閉合圈=============================\n“d);
fprintf(fp“==============================坐標原始數(shù)據(jù)================================\n“);
??????????????for(i?=?0;?i ??{
??????????fprintf(fp“%5s?x=%lfy=%lfz=%lf\n“(*(p+i)).str(*(p+i)).x(*(p+i)).y(*(p+i)).z);
??}
????????fprintf(fp“=================================平差后坐標===============================\n“);
???////////以上為創(chuàng)建日志////////////////////////////////////////////////////
???? printf(“======================================開始平差==============================\n\a“);
}
}
for(i?=?1;?i? {???
s=0.0;
s=sqrt(pow((*(p+i+1)).x-(*(p+i)).x2)+pow((*(p+i+1)).y-(*(p+i)).y2));
*(_p+i-1)?=?s;
h?=?h?+?s;
*(_H+i-1)?=?(*(p+i+1)).z-(*(p+i)).z;
}
printf(“<邊長和為>:∑=%lf\n\a“h);?????//顯示在屏幕上
????fprintf(fp“<邊長和為>:∑=%lf\n“h);?//寫進日志
printf(“<各邊邊長與高差如下>\n\a“);?????//??顯示在屏幕上
????fprintf(fp“<各邊邊長如下>\n“);?//寫進日志
for(i?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????6693??2012-08-04?17:56??CoordinateV3.0\coordinate.c
?????文件???????1267??2012-06-17?22:04??CoordinateV3.0\readme.txt
?????文件??????73728??2012-08-04?17:58??CoordinateV3.0\Release\coordinate.exe
?????文件??????15187??2012-06-23?19:36??CoordinateV3.0\Release\coordinate.obj
?????文件?????251716??2012-06-17?21:14??CoordinateV3.0\Release\coordinate.pch
?????文件???????6861??2012-06-24?10:28??CoordinateV3.0\Release\log.txt
?????文件??????33792??2012-06-23?19:36??CoordinateV3.0\Release\vc60.idb
?????目錄??????????0??2012-12-24?11:25??CoordinateV3.0\Release
?????目錄??????????0??2012-12-24?11:25??CoordinateV3.0
-----------?---------??----------?-----??----
???????????????389244????????????????????9
- 上一篇:group lasso
- 下一篇:linpop neusoft
評論
共有 條評論