ImageVerifierCode 换一换
格式:DOCX , 页数:76 ,大小:484.29KB ,
资源ID:7080165      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7080165.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(测绘程序实验报告Word文件下载.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

测绘程序实验报告Word文件下载.docx

1、 double Q; afx_msg void OnBnClickedOk(); afx_msg void OnBnClickedCancel(); afx_msg void OnBnClickedButton1(); double A;/ 0145110615 ymh 2.1Dlg.cpp : 实现文件#include stdafx.h0145110615 ymh 2.1.h0145110615 ymh 2.1Dlg.h#include #ifdef _DEBUG#define new DEBUG_NEW#endifvoid CMy0145110615ymh21Dlg:OnBnClicked

2、Ok()/计算 / TODO: 在此添加控件通知处理程序代码 UpdateData(TRUE); if(x0) if(y Q=1; A=atan(y/x);/x大于y大于在第一象限 elseQ=4; A=atan(y/x)+270;/x大于y小于在第四象限 else if(y Q=2; A=atan(y/x)+90;/x大于y小于在第二象限 elseQ=3; A=atan(y/x)+180;/x小于y小于在第三象限 UpdateData(FALSE); /OnOK();OnBnClickedCancel()/清除/ TODO: UpdateData(true); x=0; y=0; Q=0;

3、A=0; UpdateData(false);OnBnClickedButton1()/退出 OnCancel();运行结果:总 结 第一次做这个实验的时候真的觉得挺难得可是当我经过更难的实验的洗礼之后在返回来看它真是顿时亲切了许多,其实当时是对这个软件不了解简单的东西把它想得很复杂绕来绕去都不知道该怎么实现一些很简单的东西了。实验2.2 .设计同一参考椭球下的三维地心坐标(笛卡儿坐标系)与大地坐标系转换的程序。(提示:用 dowhile 迭代,B、H 初始为 0 进行迭代,直到 H 的精度达到 0.00001米)注意:东经 0180(Y0),西经:0-180(Y式中,B、L、H 为椭球面上的

4、大地纬度、大地经度、大地高;X、Y、Z 为空间直角坐标;N 为卯酉圈曲率半径,e 为椭球的偏心率,a 为椭球的长半径,b 为椭球的短半径。 (WGS84 椭球参数:长半径 a=6378137m,扁率=1/298.257223563)在按钮下面设置主程序,按照指导书给的思路编辑公式 / 0145110615 ymh 2.2Dlg.h : double B; double L; double H; double X; double Y; double Z;/ 0145110615 ymh 2.2Dlg.cpp :0145110615 ymh 2.2.h0145110615 ymh 2.2Dlg.h

5、void CMy0145110615ymh22Dlg:OnBnClickedOk()/大地坐标转换为空间直角坐标 double r=1/298.257223563; double e=sqrt(2*r)-(r*r); int a=6378137; double W=sqrt(1-e*e*sin(B)*sin(B); double N=a/W; X=(N+H)*cos(B)*cos(L); Y=(N+H)*cos(B)*cos(L); Z=(N*(1-e*e)+H)*sin(B);UpdateData(false);/OnOK();。实验2.3 .编写一个后方交会计算程序。3.1 基本原理及计算

6、公式若将 Pa、Pb、Pc 看成权,则 P 点的坐标即为三个已知点的加权平均值3.2 计算程序设计步骤(1)设计界面,用于输入 3 个已知点的坐标和三个观测角 、 和 ,以及用于输出待定点坐标的文本框(12 个)、静态标签框和 Button 按钮;(2)定义文本框控件变量(Value);(3)根据已知点计算三个内角 A、B、C;(4)计算 Tan( )、Tan()、Tan()、Tan(A)、Tan(B)、Tan(C);(5)计算 Pa、Pb、Pc;(6)计算待定点坐标 Xp、Yp。界面要求:三个坐标输入框,两个角度输入框一个坐标结果输出框一个计算按钮,一个清除按钮,一个退出按钮。2.由三角形三

7、个边长求内角函数计算公式: 设计思路:通过示例编辑框添加变量,在按钮下面添加程序。先将、的度分秒之转换成度利用三角形内角和等于180算出并将转换成弧度。接着计算三角形的内角,判断P点是否在危险圆上若不在则计算P点坐标若在则弹出“该点在危险圆上”。 afx_msg void OnEnChangeEdit5(); double XA; double YA; double XB; double YB; double XC; double YC; double alfa; double bet; double Xp; double Yp;dss2-3.hdss2-3Dlg.hconst double

8、PI=3.1415926535897932;void Cdss23Dlg:OnBnClickedButton1() double afAB,afAC,afBC,afBA,afCA,afCB,A,B,C,Pa,Pb,Pc; int D1,M1,D2,M2; double S1,S2,alfa1,bet1,gama1,alfa2,bet2,gama2; /将alfa转换成度 D1=int(alfa); M1=int(alfa-D1)*100); S1=(alfa-D1)*100-M1)*100; alfa1=D1+M1/60+S1/3600; alfa2=alfa1*PI/180; /将bet转换

9、成度 D2=int(bet); M2=int(bet-D2)*100); S2=(bet-D2)*100-M2)*100; bet1=D2+M2/60+S2/3600; bet2=bet*PI/180; /计算gama1的值 gama1=180-bet1-alfa1; gama2=gama1*PI/180;/将gama1的值转换成弧度 /计算已知点的三个内角 afAB=atan(YB-YA)/(XB-XA); afAC=atan(YC-YA)/(XC-XA); afBA=atan(YA-YB)/(XA-XB); afBC=atan(YC-YB)/(XC-XB); afCA=atan(YA-YC

10、)/(XA-XC); afCB=atan(YB-YC)/(XB-XC); A=afAB-afAC; B=afBC-afBA; C=afCA-afCB; /判断点是否在危险圆上若不在则计算P点坐标 if(alfa+bet+C190) Pa=(tan(alfa2)*tan(A)/(tan(alfa2)-tan(A); Pb=(tan(bet2)*tan(B)/(tan(bet2)-tan(B); Pc=(tan(gama2)*tan(C)/(tan(gama2)-tan(C); Xp=(XA*Pa+XB*Pb+XC*Pc)/(Pa+Pb+Pc); Yp=(YA*Pa+YB*Pb+YC*Pc)/(P

11、a+Pb+Pc); else/若在则弹出“该点位于危险圆上” MessageBox(_T(该点位于危险圆上); /OnCancel();OnBnClickedOk() XA=0; YA=0; XB=0; YB=0; XC=0; YC=0; alfa=0; bet=0; Xp=0; Yp=0;; 本次实验刚开始还是遇到了很多问题的比如说根本不就不知道该如何用程序来实现后方交会这个过程,后来经过问同学、上网查资料等大概弄懂了实现步骤可是写完程序后我发现他根本计算不了点计算按按钮一点反应都没有。又开始找问题才发现是UpdateData(FALSE)和UpdateData(TRUE)忘写了,还发现程序

12、中没有进行度分秒到度的转换,就顺便把这个实现也加进去了。这个程序也就算完成了。实验 三 数组、指针与函数一、实验目的 掌握数组的定义、引用及应用方法。 掌握指针与动态数组。 掌握函数的定义、引用及应用方法。二、实验内容1.编写一个求任意多边形面积的程序。通过界面输入数据,并把数据保存在一个二维数组或一个一维的自定义结构体类型的数组中,然后再进行计算。要求计算部分写成函数的形式,使计算程序与界面无关。动态数组创建动态数组 结构体的定义多边形面积计算原理及算法计算原理:面积计算的算法:显示框用 Cedit 控件变量对每个输入的坐标 用 CString str 临时变量 格式化,然后用 CEdit

13、的控件变量插入将实现写在按钮在下面。添加顶点下面实现创建动态数组,确认按钮实现返回数组大小值并将添加的数据显示到显示框中去,通过计算按钮实现多边形面积的计算,清除按钮实现清除输入的数据,退出按钮退出程序。/ 实现 double result; CEdit edit; afx_msg void OnBnClickedButton4(); afx_msg void OnBnClickedButton3(); afx_msg void OnBnClickedButton2(); afx_msg void OnBnClickedButton5(); int n; double *px; double

14、*py; CEdit m_strdis;0145110615(3).h0145110615(3)Dlg.h/ 用于应用程序“关于”菜单项的CAboutDlg 对话框double calarea(double x,double y,int n) double s=0; int i; for(i=0;in)Warning! ; str.Format(_T(No.%d % lf %lf rn),t,x,y); m_strdis.ReplaceSel(str); pxt-1=x; pyt-1=y;OnBnClickedButton5() exit(0);总 结:这个实验相比前面几个实验感觉难了好多。首

15、先是不知道怎么实现动态数组也不知道怎样将输入的内容显示到示例编辑框里。总之在眼前的都是一堆问题,但面临的问题总得解决所以就只能看书、上网查资料、问同学等各种方法来解决问题,最终把问题解决。实验 四 类的创建1. 掌握面向对象编程基本思想2. 掌握 VC+.net 中创建类3. 掌握建立和使用对象4. 掌握运算符号重载5. 理解类的继承和多态性1.设计一个角度类。要求该类具有度分秒至度的换算、度至度分秒的换算、度与弧度的换算等功能。设置一个角度大小属性,并设定该属性为缺省属性;另设一个状态属性,表示当前设置的角度大小的形式;度分秒、度、弧度间的相互转换的方法;定义运算符号(加、减)方法,使得角度

16、类能够像一种普通的数据类型样的方便使用。设计一个角度类在类的头文件里申明度到度分秒的转换、度分秒到度的转换、度到弧度的转换、运算符的重载,在类的.cpp文件中写出具体的函数实现,在按钮下面调用类的各个函数来实现角度的转换。 double dmstodgree(double dmg);/声明度分秒到度的转换函数 double dgreetodms(double drgree);/声明度到度分秒的转换函数 double dgreetohd(double dgree);/声明度到弧度的转换函数 double dgree; double dms; double hd; void Cymh4Dlg:On

17、BnClickedCancel()void Cymh4Dlg: Angle sf; sf.dgreetodms(dgree); sf.dmstodgree(dms); sf.dgreetohd(dgree); dgree=0; dms=0; hd=0; 运行结果:这个实验调试最终没有通过所以没有结果 这个实验给我的最大的感受是细节决定成败,实践总会比想象的困难,虽然我非常清除实验原理可是但我按照我的思路去写的时候各种调试改还是有错,我不清楚为什么Angle sf;这样的语句在程序七中调试能通过而这个程序中却死活不行。实验 五文 件 掌握文件对话框的使用方法。 掌握 C+文件操作的一般步骤及实现方法。 了解 MFC 文件操作的特点及使用方法。1. 编制简单的 Cass 数据文件进行数据整理的程序。整理后的数据文件中要求无重复点数据,且数据按点号大小的升序进行排序。要求整理后的数据按与原始数据文件同样的格式保存为另外一个文件示例数据“民用园燃气.dat”文件数据格式:总点数点号,编码,X,Y,H例如:要求:a.用SaveFileDialog和OpenFileDialog控件获取文件打开或保存的文件名。b.自定义一个测量点数据结构体,其元素包括:c.用文本框显示原始数据

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2