- 1、本文档共100页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
专业
专业.专注
专业
专业.专注
H
H 0145110615 ymh 2,1 | 昜 |
E
I 坐标 I
i x- 示例编辑柱 i
I
F
E
i
I Y= 示例编辑框 I
E
i
S
E
E
I
| i
a
象限 示例漏鉅框 方位角:示例前框: I
■ ■ ■
E
I
3 S
E E
E
I ~~| SS~~] i
: * ■
实验1 Visual C++.Net 环境和程序设计初步
1.掌握VC++.net语言的基本语法;
2?理解顺序结构、选择结构和循环结构程序设计的特点及应用;
掌握对基于对话框的 MFC应用程序设计方法;
掌握一些简单算法。
编写一个方位角计算程序。提示:先使用反正切函数计算,然后利用坐标增量
的符号来判断所在的象限。
设计思路:在按钮下面添加程序。XY同时大于0在第一象限,方位角等于
arctan(y/x) ; X0,Y0 在第二象限,方位角等于 arctan(y/x)+90 ; X0,Y0 在第三象 限,方位角等于arctan(y/x)+180 ; X0,Y0在第四象限,方位角等于
arctan(y/x)+270 ;
界面设
计:
主要代码:/ 0145110615 ymh 2.1Dlg.h : 头文件
protected :
HICON m_hlco n;
//生成的消息映射函数
virtual BOOL OnlnitDialog();
afx_msg void On SysComma nd(UINT nID, LPARAM lParam);
afx_msg void On Pai nt();
afx_msg HCURSOR On QueryDragIco n();
DECLARE_MESSAGE_MAP()
public :
double x;
double y;
double Q;
afx_msg void OnBn ClickedOk();
afx_msg void OnBn ClickedCa ncel();
afx_msg void OnBn ClickedButt on 1();
double A;
};
// 0145110615 ymh 2.1Dlg.cpp : 实现文件
#include stdafx.h
#include 0145110615 ymh 2.1.h
#include 0145110615 ymh 2.1Dlg.h
#inelude math.h
#ifdef _DEBUG
#define new DEBUG_NEW
#en dif
void CMy0145110615ymh21Dlg::0 nBn ClickedOk() // 计算 {
// TODO:在此添加控件通知处理程序代码
UpdateData(TRUE);
if(x0)
{if(y0)
{Q=1;
A=atan(y/x);} 〃x大于y大于在第一象限
else{Q=4;
A=atan(y/x)+270;} //x大于y小于在第四象限
}
else if(y0)
{Q=2;
A=atan(y/x)+90;} //x大于y小于在第二象限
else{Q=3;
A=atan(y/x)+180;} //x小于y小于在第三象限
UpdateData(FALSE);
//On OK();
}
void CMy0145110615ymh21Dlg::O nBn ClickedCa ncel()
{
// TODO:在此添加控件通知处理程序代码
UpdateData( true);
x=0;
y=0;
Q=0;
A=0;
UpdateData( false);
}
void CMy0145110615ymh21Dlg::O nBn ClickedButto n1()
{
// TODO:在此添加控件通知处理程序代码
//清除//退出
//清除
//退出
}
运行结
果:
第一次做这个实验的时候真的觉得挺难得可是当我经过更难的实验的洗礼之后在返
回来看它真是顿时亲切了许多,其实当时是对这个软件不了解简单的东西把它想得很
复杂绕来绕去都不知道该怎么实现一些很简单的东西了 。
实验2.2 .设计同一参考椭球下的三维地心坐标 (笛卡儿坐标系)与大地坐标系转换的
程
序。
(提示:用do…while迭代,B、H初始为0进行迭代,直到H的精度达到
0.00001
米)
注意:东经 0~180 ( Y0),西经:0~-180(丫0)
式中,B、L、H为椭球面上的大地纬度、大地经度、大地高;X、丫、Z为空间直 角坐标;N为卯酉圈曲率半径,e为椭球的偏心率,a为椭球的长半径,b为椭球
的短半径。(WGS84 椭球参数:长半径 a=6378137m ,扁率a
的短半径。
=1/298.257223563)
设计思
文档评论(0)