- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三次程序设计实验报告
成绩 辽宁工程技术大学上机实验报告
实验名称 附合导线计算
1.掌握 VC++软件的编程开发环境。
2.掌握测量典型函数的设计方法。
3.掌握附合导线和水准网平差程序的设计。
以坐标方位附合导线为例,掌握导线数据结构设计,掌握近似坐标推算程序编写。
1、每人独立设计导线计算菜单;
2、每人独立设计导线数据处理类,编写成员函数;
3、采用 VC++6.0 开发平台,C 或者 C++语言编写程序;
4、给出简易平差结果。
// FollowLine.cpp: implementation of the CFollowLine class.
//
#include stdafx.h
#include Adj.h
#include FollowLine.h
#include AdjHead.h
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
// Construction/Destruction
CFollowLine::CFollowLine()
{
SNM =0.0; WB =0.0;
WX =0.0; WY =0.0;
}
CFollowLine::~CFollowLine()
{
}
//---------------------------------
//读附合导线数据
//---------------------------------
bool CFollowLine::ReadData(CString filename)
{
CStdioFile fp;
CFileException e;
if( !fp.Open(filename,
CFile::modeRead|CFile::typeText,NULL))
{
AfxGetApp()-m_pMainWnd-MessageBox(
数据文件不存在或数据文件错!,
提示,MB_OK|MB_ICONWARNING);
return FALSE;
}
int MAXLINE =254;
char strBuffer[255],buff[255];
fp.ReadString(buff,MAXLINE);
sscanf(buff,%s,strBuffer);
if(strcmpi(strBuffer,FOLLOW_2))
{
AfxGetApp()-m_pMainWnd-MessageBox(
非附合导线数据 !,
提示,MB_OK|MB_ICONWARNING);
fp.Close();
return FALSE;
}
fp.ReadString(buff,MAXLINE);
sscanf(buff,%d,N);
fp.ReadString(buff,MAXLINE);
sscanf(buff,%lf %lf %lf,XA,YA,TA);
fp.ReadString(buff,MAXLINE);
sscanf(buff,%lf %lf %lf,XB,YB,TB);
for(int i=1;i=N;i++)
{
fp.ReadString(buff,MAXLINE);
sscanf(buff,%lf %lf,BN[i],SN[i]);
}
fp.Close();
return TRUE;
}
void CFollowLine::Follow_Cal()
{
double fa,fb;
int i;
XP[0]=XA; YP[0]=YA;
TN[0]=TA;
fb=0.0;
for(i=1;i=N;i++)
{
SNM +=SN[i]; //求所有边长的和
fa=angle_r(TN[i-1])+angle_r(BN[i])-PI;
if(faPI2)
{
fa -=PI2;
}
if(fa0.0 fabs(fa)PI2)
{
fa +=PI2;
}
TN[i]=radian_a(fa);
}
WB=angle_r(TN[N])-angle_r(TB); //求方位角闭合差
for(i=1;i=N;i++)
{
fa=angle_r(BN[i])-WB/N; //角度平差
BN[i]=radian_a(fa);
}
for(i=1;i=N;i++) //求近似坐标
{
fa=angle_r(TN[i-1]
文档评论(0)