資源簡介
C++實現的控制網平差實例 基于VS2008版本的 高版本的VS可以用

代碼片段和文件信息
#include?“StdAfx.h“
#include?“Adjust.h“
#include?“CommonSurveyFunctions.h“
#include?“math.h“
#include?
CAdjust::CAdjust(void)
{
m_pUnknownPoint=NULL;//未知點數組
m_iUnknownPointCount=0;??????//未知點個數
????m_pAngleObs=NULL;????//角度觀測值數組
m_iAngleObsCount=0;??????????//角度觀測值個數?
????m_pDistObs=NULL;?????//距離觀測值數組
m_iDistObsCount=0;????????????//距離觀測值個數
m_pBearingObs=NULL;
m_iBearingObsCount=0;
}
CAdjust::~CAdjust(void)
{
//釋放動態數組內存
if(m_pUnknownPoint!=NULL)
{
delete[]?m_pUnknownPoint;
m_pUnknownPoint=NULL;
}
if(m_pKnownPoint!=NULL)
{
delete[]?m_pKnownPoint;
m_pKnownPoint=NULL;
}
???
if(m_pAngleObs!=NULL)
{
delete[]?m_pAngleObs;
m_pAngleObs=NULL;
}
if(m_pBearingObs!=NULL)
{
delete[]?m_pBearingObs;
m_pBearingObs=NULL;
}
????if(m_pDistObs!=NULL)
{
delete[]?m_pDistObs;
m_pDistObs=NULL;
}
}
void?CAdjust::SetKnownPointSize(int?size)
{
m_pKnownPoint=new?CControlPoint[size];//已知點數組
m_iKnownPointCount=size;//已知點個數?
}
void?CAdjust::SetUnknownPointSize(int?size)
{
if(m_pUnknownPoint!=NULL)
{
delete[]?m_pUnknownPoint;
m_pUnknownPoint=NULL;
}
????
if(m_pAngleObs!=NULL)
{
delete[]?m_pAngleObs;
m_pAngleObs=NULL;
}
????if(m_pDistObs!=NULL)
{
delete[]?m_pDistObs;
m_pDistObs=NULL;
}
if(m_pBearingObs!=NULL)
{
delete[]?m_pBearingObs;
m_pBearingObs=NULL;
}
m_iUnknownPointCount=size;
????m_pUnknownPoint=new?CControlPoint[size];
}
CString*?CAdjust::SplitString(CString?str?char?split?int?iSubStrs)
{
int?iPos?=?0;?//分割符位置
????int?iNums?=?0;?//分割符的總數
????CString?strTemp?=?str;
????CString?strRight;
????//先計算子字符串的數量
????while?(iPos?!=?-1)
????{
????????iPos?=?strTemp.Find(split);
????????if?(iPos?==?-1)
????????{
????????????break;
????????}
????????strRight?=?strTemp.Mid(iPos?+?1?str.GetLength());
????????strTemp?=?strRight;
????????iNums++;
????}
????if?(iNums?==?0)?//沒有找到分割符
????{
????????//子字符串數就是字符串本身
????????iSubStrs?=?1;?
????????return?NULL;
????}
????//子字符串數組
????iSubStrs?=?iNums?+?1;?//子串的數量?=?分割符數量?+?1
????CString*?pStrSplit;
????pStrSplit?=?new?CString[iSubStrs];
????strTemp?=?str;
????CString?strLeft;
????for?(int?i?=?0;?i?????{
????????iPos?=?strTemp.Find(split);
????????//左子串
????????strLeft?=?strTemp.Left(iPos);
????????//右子串
????????strRight?=?strTemp.Mid(iPos?+?1?strTemp.GetLength());
????????strTemp?=?strRight;
????????pStrSplit[i]?=?strLeft;
????}
????pStrSplit[iNums]?=?strTemp;
????return?pStrSplit;
}
bool?CAdjust::LoadObsData(const?CString?&strFileName)
{
CStdioFile?sf;??//創建文件對象
//以讀的形式打開文件,如果打開失敗則返回
if(!sf.Open(strFileName?CFile::modeRead))?return?false;
CString?strLine;
CString?str;
CString?*strTmp=NULL;
int?n=0;
while(strLine!=_T(“END?Header“))//讀取文件頭
{
sf.ReadString?(strLine);
str+=strLine;
str+=_T(“\r\n“);
if(strLine!=_T(“END?Header“))
{
strTmp=SplitString(strLine‘‘n);
}
else?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????20823??2013-07-29?00:08??Kongzhiwangpingcha\Adjust.cpp
?????文件???????2149??2013-07-27?20:10??Kongzhiwangpingcha\Adjust.h
?????文件???????2828??2013-07-23?16:24??Kongzhiwangpingcha\Angle.cpp
?????文件????????836??2013-07-23?16:24??Kongzhiwangpingcha\Angle.h
?????文件????????795??2011-03-24?13:43??Kongzhiwangpingcha\CommonSurveyFunctions.cpp
?????文件????????455??2013-07-29?00:09??Kongzhiwangpingcha\CommonSurveyFunctions.h
?????文件????????360??2011-03-25?10:21??Kongzhiwangpingcha\ControlPoint.cpp
?????文件???????1909??2013-07-27?19:31??Kongzhiwangpingcha\ControlPoint.h
?????文件?????121577??2013-07-29?00:09??Kongzhiwangpingcha\Debug\Adjust.obj
?????文件??????16745??2013-07-27?20:12??Kongzhiwangpingcha\Debug\Angle.obj
?????文件???????7624??2013-07-29?00:09??Kongzhiwangpingcha\Debug\BuildLog.htm
?????文件???????8847??2013-07-29?00:09??Kongzhiwangpingcha\Debug\CommonSurveyFunctions.obj
?????文件?????144384??2013-07-29?00:09??Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.exe
?????文件???????1196??2013-07-27?20:12??Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.exe.em
?????文件???????1260??2013-07-27?20:12??Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.exe.em
?????文件???????1120??2013-07-29?00:09??Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.exe.intermediate.manifest
?????文件????1057296??2013-07-29?00:09??Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.ilk
?????文件??????20890??2013-07-27?20:12??Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.obj
?????文件????3599360??2013-07-29?00:09??Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.pdb
?????文件??????23432??2013-07-27?20:12??Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.res
?????文件??????44769??2013-07-28?11:42??Kongzhiwangpingcha\Debug\KongzhiwangpingchaDlg.obj
?????文件??????36569??2013-07-27?20:12??Kongzhiwangpingcha\Debug\Matrix.obj
?????文件?????????65??2013-07-29?00:09??Kongzhiwangpingcha\Debug\mt.dep
?????文件?????466026??2013-07-27?20:12??Kongzhiwangpingcha\Debug\stdafx.obj
?????文件?????936960??2013-07-29?00:09??Kongzhiwangpingcha\Debug\vc90.idb
?????文件????2011136??2013-07-29?00:09??Kongzhiwangpingcha\Debug\vc90.pdb
?????文件??????43084??2013-07-27?20:48??Kongzhiwangpingcha\Kongzhiwangpingcha.aps
?????文件???????1803??2013-07-23?16:10??Kongzhiwangpingcha\Kongzhiwangpingcha.cpp
?????文件????????513??2013-07-23?16:10??Kongzhiwangpingcha\Kongzhiwangpingcha.h
?????文件???12774400??2015-12-28?16:58??Kongzhiwangpingcha\Kongzhiwangpingcha.ncb
............此處省略27個文件信息
評論
共有 條評論