资源简介

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 < iNums; 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.embed.manifest

     文件       1260  2013-07-27 20:12  Kongzhiwangpingcha\Debug\Kongzhiwangpingcha.exe.embed.manifest.res

     文件       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个文件信息

评论

共有 条评论

相关资源