• 大小: 72KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: 其他
  • 标签:

资源简介

用于全站仪坐标导线平差、使用方法以及具体步骤在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(“请输入全部控制点个数\n\a“);

printf(“-->\a“);

scanf(“%d“&n);

p=(struct coordinate *)calloc(n+1sizeof(struct coordinate)); //用于存储坐标数据

_p=(double *)calloc(n-1sizeof(double));     //用于存贮边长的数组

_H=(double *)calloc(n-1sizeof(double));


printf(“下面开始按顺序输入控制点坐标\n\a“);



for(i = 0; i< n+1; 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(“=============================请检核你所输入的数据=============================\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(“log.txt““a“)) == NULL)
 {
    printf(“===========================日志创建失败!=============================\n\a“);

system(“PAUSE“);//窗口停留

       exit(0);

 }

        else

{
                fprintf(fp“============================第%d个控制点闭合圈=============================\n“d);

fprintf(fp“==============================坐标原始数据================================\n“);

              for(i = 0; i< n+1; i++)
  {

          fprintf(fp“%5s x=%lfy=%lfz=%lf\n“(*(p+i)).str(*(p+i)).x(*(p+i)).y(*(p+i)).z);

  }

        fprintf(fp“=================================平差后坐标===============================\n“);

   ////////以上为创建日志////////////////////////////////////////////////////

     printf(“======================================开始平差==============================\n\a“);

}

}

for(i = 1; i < n;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


评论

共有 条评论