- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《测绘程序设计(VC.net)》
上机实验报告
(Visual C++.Net)
班 级:
学 号:
姓 名:
序 号: 21
二零一二年三月十五日
实验3 数组、指针与函数
实验目的 掌握数组的定义、引用及应用方法
掌握指针和动态数组
掌握函数的定义、引用及应用方法。
实验内容 1、编写一个球任意多边形的面积的程序。提示:通过界面输入数据,并把数据保存在一个二维数组或一个一维的自定义结构体类型的数组中,然后在进行计算。要求计算部分写成函数形式,式计算程序与界面无关。
例如:
P=1/2(x1+x2)(y2-y1)+1/2(x2+x3)(y3-y2)+1/2(x3+x4)(y4-y3)+1/2(x4+x1)(y1-y4)
2、由三角形三个边长求内角函数;
5、交会定点计算函数设计
把前面学过的前方交会、侧边交会、后方交会程序写成函数的形式,然后再通过主程序调用
实验步骤
实验3.1
如下图所示,新建一个基于对话框的MFC文件,并根据要求设置编辑框的属性,以满足实验的要求
根据要求添加相应的函数代码
void Cshiyan31Dlg::OnBnClickedButton1()
{
// 计算控件程序代码
UpdateData(TRUE);
int iLine;
int iPtCount;
CString *strTmp=NULL;
int n;
CString *pstrLine=SplitString(strInput,13,iLine);
if(iLine4) // 多边形最少三个边,否则不能构成多边形
{
MessageBox(_T(数据缺省!));
return;
}
iPtCount=_ttoi(pstrLine[0]); // 第一行为多边形边数
struct Point // 建立储存点的结构体
{
double *dPx;
double *dPy;
}dPt;
dPt.dPx=new double[iPtCount];
dPt.dPy=new double[iPtCount];
if ((iLineiPtCount+1)||(iPtCount3)) //判断错误情况:数据与边数不符与不构成多边形
{
MessageBox(_T(输入有误!));
return;
}
else
{
for (int i=0;iiPtCount;i++)
{
strTmp=SplitString(pstrLine[i+1],44,n);
dPt.dPx[i]=_tstof(strTmp[0]);
dPt.dPy[i]=_tstof(strTmp[1]);
if(strTmp!=NULL)// 释放内存
{
delete[] strTmp;
strTmp=NULL;
}
}
if(strTmp!=NULL)// 释放内存
{
delete[] strTmp;
strTmp=NULL;
}
dArea=fabs(ComptArea(dPt.dPx,dPt.dPy,iPtCount));
}
if(pstrLine!=NULL)// 释放内存
{
delete[] pstrLine;
pstrLine=NULL;
}
UpdateData(FALSE);
}
void Cshiyan31Dlg::OnBnClickedOk()
{
// 初始化
strInput=输入坐标;
dArea=0;
UpdateData(FALSE);
}
下面是运行结果:
实验3.2
根据实验要求新建一个基于对话框的MFC文件,并根据要求添加相应需要的编辑框和静态框,已经命令按钮。并根据需要改变各个命令按钮的属性。
双击命令按钮进入函数编辑区 如下所示:
在函数编辑区添加相应的函数代码
void Cshiyan32Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
double A,B,C,M,N,X;
M=cos(A);
N=cos(B);
X=cos(C);
M=(b*b+c*c-a*a)/(2*b*c);
N=(a*a+c*c-b*b)/(2*a*c);
X=(a*a+b*b-c*c)/(2*a*b);
UpdateData(FALSE);
}
void Cshiyan32Dlg::OnBnC
您可能关注的文档
- 中小学音乐课程三维目标策画.ppt
- 中新生态城代谢病医院项目技术方式--初版.doc
- 中学生物学教导常用教导方法.doc
- 中学物理教导法大纲.doc
- 中学物理考试知识点概述大全!考试必备.doc
- 中学心理常识竞赛.doc
- 中央财经大学考博英语词汇复习之根基部分.pdf
- 中央美术学院环境艺术(室内)手绘考研考研相关材料.pdf
- 中央美术学院设计学考研设计根基考研真题.pdf
- 中央美院策画学院专业学位导师目录.doc
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)