- 4
- 0
- 约3.71千字
- 约 13页
- 2019-02-23 发布于湖北
- 举报
《测绘程序设计(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;
您可能关注的文档
- 初二政治上学期我知我家.ppt
- 初三化学第二学期综合练习二.doc
- 第九单元课题一随堂练习.ppt
- 第七章 品类管理与单品管理.ppt
- 第十一章 产品质量法5.ppt
- 高三语文横塘路.ppt
- 九年级物理滑轮3.ppt
- 七年级语文表哥驾到.ppt
- 数学实际问题与一元二次方程1课件人教版九年级上.ppt
- 微观经济学现代观点 范里安 ppt Ch01Market.ppt
- 安徽省安庆市潜山市部分学校2025-2026学年七年级下学期阶段学情自测数学试题-普通用卷.docx
- 2026《微型无人机的设计基础综述》2600字.docx
- 安徽六安市金安区2025-2026学年八年级上学期2月期末物理试题-普通用卷.docx
- 2026《五菱汽车公司经营者股权激励实施成效及其启示》9700字.doc
- 北京市第一零九中学2026届高三下学期开学考试数学试题-普通用卷.docx
- 北京海淀实验中学2026届高三下学期数学开学检测试题-普通用卷.docx
- 2026《五菱汽车公司融资模式及融资风险分析》8700字.doc
- 2026《五菱汽车公司物流成本控制研究》文献综述开题报告(含提纲)3800字.doc
- 2026《五菱汽车公司薪酬改革问题研究》开题报告(文献综述)4200字.doc
- 2026《物流企业反内卷的战略转型研究—以顺丰控股为例》13000字.doc
最近下载
- 《小数的意义和读写》黄漫.ppt VIP
- 普通党员2025年度组织生活会对照检查材料(五个对照).docx VIP
- 2026年江西新能源科技职业学院单招职业技能测试题库及答案1套.docx VIP
- 普通话测验考试60篇朗读文章(有拼音).doc VIP
- 普通党员2026年度组织生活会对照检查材料(五个对照).pdf VIP
- 生成式人工智能应用实战课件 (1).pptx VIP
- 北京爱知之星java工程师面试题 (2).docx VIP
- 北京爱知之星java工程师面试题 (1).docx VIP
- 北京爱知之星运维工程师笔试题.docx VIP
- 北京爱知之星JAVA工程师笔试题 (2).docx VIP
原创力文档

文档评论(0)