测绘程序设计实验 类的创建.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话: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;

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档