测绘程序设计(C版)实习报告学号:姓名:班级:专业:测绘工程课程名称:C程序及其测绘应用指导老师:2013年12月目录1.实习目的...................................................................................错误!未定义书签。2.实习内容...................................................................................错误!未定义书签。2.1实习环境...............................................................................错误!未定义书签。2.2实习主要内容介绍...............................................................错误!未定义书签。2.2.1算法.................................错误!未定义书签。2.2.2坐标转换.............................................32.2.3前方交会.............................错误!未定义书签。2.2.4角度转换.............................错误!未定义书签。2.2.5水准闭合.............................错误!未定义书签。2.2.6带号计算.............................错误!未定义书签。2.2.7方向观测.............................错误!未定义书签。2.2.8多边形面积...........................错误!未定义书签。3.实习步骤...................................................................................错误!未定义书签。3.1基本程序...............................................................................错误!未定义书签。3.2程序改进...............................................................................错误!未定义书签。3.3程序完善...............................................................................错误!未定义书签。3.4程序扩展...............................................................................错误!未定义书签。4.实习成果...................................................................................错误!未定义书签。4.1初始调试...............................................................................错误!未定义书签。4.2成功调试...............................................................................错误!未定义书签。4.3运行界面...............................................................................错误!未定义书签。4.4运行成果...............................................................................错误!未定义书签。5.实习体会...................................................................................错误!未定义书签。6.附录:实习程序作业清单.......................................................错误!未定义书签。一.实习目的。1认识并了解TURBOC3.0软件及其配置环境。一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。所谓环境就是所用的计算机系统硬件、软件条件,只有学会使用这些环境,才能进行程序开发工作。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。2.学习上机调试程序,完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。如编译程序检测出一大堆错误。有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。开发环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。3.加深对课堂讲授内容的理解,通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。对于一些内容自己认为在课堂上听懂了,但上机实习中会发现原来理解的偏差,这是由于初次接触C程序,缺乏C程序的实习所致。学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。只有通过上机才能检验自己是否掌握c语言、自己编写的程序是否能够正确地解题。通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态。但是在程序设计领域里这是一定要克服的传统的、错误的想法。因为在这种思想支配下,可能你会想办法去掩盖程序中的错误,而不是尽可能多地发现程序中存在的问题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力二.实习内容:在整个实习中,认识并了解TURBOC3.0及其的环境配置这次的实习是对书本上的一些程序的运行方法进行了解和运用。熟练的掌握一些基本的方法,了解程序的基本运行过程。加深对C语言基本数据类型的了解,掌握条件,循环语句的正确使用,掌握输入输出函数用法,掌握水平角观测数据的处理方法,加深对构造数据类型的理解,加深对文件的理解,全面学习C程序的基础上,掌握TURBOC3.0软件的正确使用。通过对题目解读和编程,使你不断地运用自己所学的知识以及对题目的分析程度,去对自己所写的编码进行调试直至成功。1.实习环境:由于上机的时间有限,大部分程序先在寝室用自己的电脑进行初步编写,然后再到实验室的机房通过老师的指导进行修改不断调试。2.实习主要内容介绍:1.算法:判断函数循环指针数组结构体文件。分别运用这些算法对老师所给题目进行编程2.坐标转换:分为两种,一种是正算,一种是反算。坐标正算:已知一点坐标以及该点与未知点连线的方位角和距离,求未知点坐标。坐标反算:已知两点坐标,求算两点连线的方位角和距离。3.前方交会:在两个已知点以上分别对待定点相互进行水平角观测,并根据已知点的坐标及观测角值计算出待定点坐标的。4.角度转换:5.水准路线闭合差:水准测量存在误差,水准测量的实测高差与理论值往往不相符合,其差值称为水准路线的闭合差。6.带号计算:由于高斯投影中,存在长度变形,为了控制变形,将地球椭球面按一定的经度差分成若干范围不大的带。根据经度计算其带号7.方向观测:把两个以上的方向合为一组依次观测水平角的方法。设测站上欲观测的方向为A、B、C、…、F等目标,其观测方法是盘左位置顺时针旋转照准部,从起始方向A(零方向)依次照准各方向B、C、…、F、A等目标,并读水平度盘读数,纵转望远镜,用盘右位置逆时针从A分别观测F、…、D、C、B、A等目标,并读水平度盘读数,最后计算各观测目标的方向值,从而获得各方向间的水平角8.多边形面积3.1基本程序:1.坐标换算:坐标正算#includestdio.h#includemath.hvoidmain(){doubleA,B,Xp,Yp;floatXa,Ya,Xb,Yb;printf(entertheXa,Ya,Xb,Yb,A,B:);scanf(%f%f%f%f%f%f,&Xa,&Ya,&Xb,&Yb,&A,&B);Xp=(Xa*tan(A)+Xb*tan(B)+(Yb-Ya)*tan(A)*tan(B))/(tan(A)+tan(B));Yp=(Ya*tan(A)+Yb*tan(B)+(Xa-Xb)*tan(A)*tan(B))/(tan(A)+tan(B));printf(Xp=%f,Yp=%f,Xp,Yp);}运行结果:坐标反算includestdio.h#includemath.hintmain(){floatXa,Ya,Xb,Yb,Sab,ab,m,n;scanf(%f%f%f%f,&Xa,&Ya,&Xb,&Yb);m=Xb-Xa;n=Yb-Ya;ab=atan(n/m);Sab=sqrt(m*m+n*n);printf(ab=%f\tSab=%f\n,ab,Sab);return0;}运行结果:#includestdio.h#includemath.h#definePI3.1415926voidmain(){floatxa,ya,xb,yb,x,y;floatp1,*p2;floatrad(floatp1);printf(shuruAdianzuobiao:);scanf(%f%f,&xa,&ya);printf(shuruBdianzuobiao:);scanf(%f%f,&xb,&yb);p1=atan((yb-ya)/(xb-xa));y=rad(p1);p2=&p1;printf(y=%f,y);}floatrad(floatp1){floatm;m=p1*180/PI;return(m);}运行结果:2.前方交会#includestdio.h#includemath.hintmain(){floatqfjhX(floatXa,floatYa,floatXb,floatYb,floatA,floatB);floatqfjhY(floatXa,floatYa,floatXb,floatYb,floatA,floatB);float(*p1)(floatXa,floatYa,floatXb,floatYb,floatA,floatB);float(*p2)(floatXa,floatYa,floatXb,floatYb,floatA,floatB);p1=qfjhX,p2=qfjhY;floatXa,Ya,Xb,Yb,A,B;floatXp,Yp;printf(inputXa,Ya,Xb,Yb,A,B:\n);scanf(%f%f%f%f%f%f,&Xa,&Ya,&Xb,&Yb,&A,&B);Xp=(*p1)(Xa,Ya,Xb,Yb,A,B);Yp=(*p2)(Xa,Ya,Xb,Yb,A,B);printf(Xp=%f,Yp=%f,Xp,Yp);return0;}floatqfjhX(floatXa,floatYa,floatXb,floatYb,floatA,floatB){floatX;X=(Xa*tan(A)+Xb*tan(B)+(Yb-Ya