测绘程序设计基础实验报告

  • 格式:docx
  • 大小:764.10 KB
  • 文档页数:78

下载文档原格式

  / 78
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《测绘程序设计()》

上机实验报告

(Visual C++.Net)

班级:测绘1101

学号: 0405100731

姓名:龚自飞

序号:

二零一四年六月

目录

实验1 Visual C++.Net环境和程序设计初步 (1)

实验内容: (1)

设计思路: (1)

界面设计: (1)

主要代码:列出程序的代码,按文件依次列出。注意代码的书写格式和注释 (2)

运行结果: (3)

总结 (5)

实验1 Visual C++.Net 环境和程序设计初步

实验内容:

1. 启动与退出VC++.net ,熟悉VC++.net 的开发环境,通过向导生成基于对话框的应

用程序。使用MSDN 查看命令按钮、标签和文本框的主要属性和方法。

2. 打开Microsoft visual studio 2008 文档,浏览“Visual studio 文档”目录下的内容,

并从“Visual studio 文档->Visual C++->示例”目录下下载一个程序,编译并运行之。

3. 设计一个已知三边边长计算三角形面积的程序。计算模型如下: 海伦公式:))()((c p b p a p p S ---=,其中2

c b a p ++= 设计思路:

(1)、创建名为“gzf1”的 MFC 应用程序;

(2)、在窗体上放置4 个文本框、4 个静态框、3 个命令按钮(其中两个缺省);

(3)、设置控件属性,如Static1 的Caption 属性设置成“a=”,用于提示Edit

框的输入边长a ;

(4)、把“取消”按钮的Caption 属性改为“退出”;双击前两个按钮,生成

Click 消息函数,注释掉重载函数“OnOK()”。

(5)、为4 个Edit 控件添加绑定变量。

(6)、在相应的函数中添加代码;

(7)、运行和调试程序;

(8)、保存应用程序。

界面设计:

主要代码:

gzf1

void Cproject01Dlg::OnBnClickedOk()

{

// TODO: 在此添加控件通知处理程序代码

UpdateData(TRUE);

double p;

p=(a+b+c)/2;

S=sqrt(p*(p-a)*(p-b)*(p-c));

UpdateData(FALSE);

//OnOK();

}

void Cproject01Dlg::OnBnClickedOk2()

{

// TODO: 在此添加控件通知处理程序代码

a=0;

b=0;

c=0;

S=0;

UpdateData(FALSE);

}

void Cproject01Dlg::OnBnClickedCancel() {

// TODO: 在此添加控件通知处理程序代码

OnCancel();

}

运行结果:

总结

总结的书写要求:

这是我这学期编写的第一个MFC程序,在这次课前,我们在大一课程设计的时候有接触到相关的MFC编程,不过时隔两年,也陌生了不少。以前编程的时候都不知道为什么每次都要写UpdateData(TRUE)、UpdateData(FALSE),通过这次编程知道了它的作用分别的把控件的值赋给变量、将变量的值赋给控件;同时这次编程让我找回来了编程的感觉,觉得其实自己也是很不错的。。

目录

实验2 控制结构程序设计 (1)

实验内容: (1)

设计思路: (1)

界面设计: (1)

主要代码:列出程序的代码,按文件依次列出。注意代码的书写格式和注释 (3)

运行结果: (10)

设计技巧: (12)

总结 (1)

实验2 控制结构程序设计

实验内容:

4.编写一个方位角计算程序。先使用反正切函数计算,然后利用坐标增量的符号来判

断所在的象限;

5.设计同一参考椭球下的三维地心坐标(笛卡尔坐标系)与大地坐标系转换的程序;

6.编写一个后方交会程序。

设计思路:

1.(1)、设计程序界面,并且给控件添加变量;

(2)、计算dx、dy;

(3)、编写程序;为相应的控件编写相应的程序,“计算”首先是方位角在坐标轴上的情况,其次就是不在坐标轴上的情况,然后再将输出的弧度转换为度分秒的形式;

(4)、调试运行程序。

2.(1)、设计程序界面,并且给控件添加变量;

(2)、先编写BLH转换到XYZ代码;

(3)、再编写XYZ转换到BLH代码(注意L在不同象限的计算公式不同,B、H在循环体内只要H满足条件B就一定满足);

(4)、调试运行程序;

3.(1)、设计程序界面;

(2)、判断危险圆的范围;

(3)、计算三边的边长,然后计算三角形的三个内角;

(4)、计算出三个观测角和三个内角的正切值,再将其带人公式计算相应的权,最后计算出观测点的坐标位置;

(5)、调试运行。

界面设计:

主要代码:

Project201

void Cproject201Dlg::OnBnClickedOk()

{

// TODO: 在此添加控件通知处理程序代码

UpdateData(TRUE);

const double PI=3.141592653;

double AB;

double dx,dy;

dx=Xb-Xa;

dy=Yb-Ya;

AB=0.0;

if (dx==0&&dy>0)

{

AB=PI/2;//在Y轴正半轴

MessageBox(_T("该方位角在Y轴正半轴"));

}

else if (dx==0&&dy<0)

{

AB=3*PI/2;//在Y轴负半轴

MessageBox(_T("该方位角在Y轴负半轴"));

}

else if (dx>0&&dy==0)

{

AB=0;//在X轴正半轴

MessageBox(_T("该方位角在X轴正半轴"));

}

else if (dx<0&&dy==0)

{

AB=PI;//在X轴负半轴

MessageBox(_T("该方位角在X轴负半轴"));

}

else if (dx>0&&dy>0)

{

AB=atan2(dy,dx);//第一象限

m=1;

}

else if (dx<0&&dy>0)

{

AB=atan2(dy,dx);//第二象限

AB=PI-AB;;

m=2;