- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
测绘程序设计实验 类的创建
《测绘程序设计(VC.net)》 上机实验报告 (Visual C++.Net) 班 级: 学 号: 姓 名: 序 号: 2012-3-27 实验4 类的创建 一、实验目的 1. 掌握面向对象编程基本思想 2. 掌握 VC++.net 中创建类 3. 掌握建立和使用对象 4. 掌握运算符号重载 5. 理解类的继承和多态性 二、实验内容 1.设计一个角度类。要求该类具有度分秒至度的换算、度至度分秒的换算、度与 弧度的换算等功能。提示:设置一个角度大小属性,并设定该属性为缺省属性; 另设一个状态属性,表示当前设置的角度大小的形式;度分秒、度、弧度间的相 互转换的方法;定义运算符号(加、减)方法,使得角度类能够像一种普通的数 据类型样的方便使用。 2.用设计好的角度类重新编写后方交会定点程序。 实验步骤 新建一个基于对话框的MFC文件,并在对话框中添加相应需要的 如下图所示:分为四个分组编辑框,并且在角度类型中使用combox 其中进行变量设置是其他的变量都是按照之前的设置为 value double型 而对于comble 则设置为 将添加一个DIALG类型 与角度计算建立调用关系 并添加如下代码 添加C++类一个是进行角度转换计算的Angle 另一个是进行空间后方交会的Resection 对于Angle 须在头文件中添加如下代码 对于Resection的头文件中添加如下代码 实验过程中一定要记得添加头文件 对于角度计算的函数 并且添加相应代码 如下所示 void AngleCompute::OnBnClickedButton1() { UpdateData(TRUE); if(State1==0||State2==0||State3==0) AfxMessageBox(_T(请选择角度类型)); else { double a1=a;double b1=b;double s1=s; Angle A; A.Angleconverttoarc(State1,a1); A.Angleconverttoarc(State2,b1); Angle ca(a1),cb(b1),cs(s); cs=ca+cb; s1=cs.getval(); A.Angleconverttodegdms(State3,s1); s=s1; } UpdateData(FALSE); // TODO: 在此添加控件通知处理程序代码 } void AngleCompute::OnBnClickedButton2() { UpdateData(TRUE); if(State1==0||State2==0||State3==0) AfxMessageBox(_T(请选择角度类型)); else { double a1=a;double b1=b;double s1=s; Angle A; A.Angleconverttoarc(State1,a1); A.Angleconverttoarc(State2,b1); Angle ca(a1),cb(b1),cs(s1); cs=ca-cb; s1=cs.getval(); A.Angleconverttodegdms(State3,s1); s=s1; } UpdateData(FALSE); // TODO: 在此添加控件通知处理程序代码 } void AngleCompute::OnBnClickedOk() { a=0;b=0;s=0; UpdateData(FALSE); double Angle::convertdegtodms(double dDeg)//度转换成度分秒 { //用于存放度、分、秒三个值的变量 int iDegree, iMin; double dSec,dDms; //dDeg; //十进制角度(度),控件变量 //dDms;//度分秒格式角度,控件变量 double dTmp;//临时变量 iDegree = int(dDeg);//截取度 dTmp = (dDeg - iDegree) * 60;//把度的小数部分转换为分 iMin = int(dTmp);//截取分 dSec = (dTmp - iMin) * 60;//把分的小数部分转换为秒 dDms = iDegree + double(iMin) / 100 + dSec / 10000;//合并为度分秒形式 return dDms;
您可能关注的文档
最近下载
- 1.胸腔穿刺术.ppt VIP
- 药物治疗管理与个体化药学服务题库答案-2025年华医网继续教育.docx VIP
- DB13T1510-2012 流态粉煤灰水泥混合料施工技术指南.docx VIP
- 新版教科版科学五年级下册第二单元《船的研究》PPT课件(2022年春).pptx VIP
- 校风教风学风建设实施方案.pdf VIP
- 有线电视及卫星电视接收系统设备安装检验批质量验收记录.doc VIP
- 园林树木 005-被子植物木兰 五味子 樟科.ppt VIP
- 海洋产业海洋资源开发与海洋环保.pptx VIP
- 《赏书法之韵》教学课件.pptx VIP
- 特种设备使用单位落实使用安全主体责任监督管理规定(第74号)宣贯.pptx VIP
文档评论(0)