freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

沉降監(jiān)測網(wǎng)擬穩(wěn)平差及程序設(shè)計畢業(yè)論文(編輯修改稿)

2025-07-23 01:09 本頁面
 

【文章內(nèi)容簡介】 值計算函數(shù) void PrintResult()。 //精度估計與平差值輸出函數(shù) double ca_V()。 //殘差計算函數(shù) void Quasi_Stable( char *file)。//擬穩(wěn)平差函數(shù) }。構(gòu)造函數(shù)的作用是為類對象中的數(shù)據(jù)成員賦初值,這里指的是為m_Pnumber(總點數(shù))和m_Lnumber(觀測值)總數(shù)賦初值為0。函數(shù)源代碼如下:CLevelingAdjust::CLevelingAdjust(){ m_Lnumber=0。 m_Pnumber=0。 m_StablePnumber=0。}析構(gòu)函數(shù)是在對象撤銷時調(diào)用的,利用析構(gòu)函數(shù)刪除對象中由指針成員所指向的動態(tài)分配的存儲空間。函數(shù)源代碼如下:CLevelingAdjust::~CLevelingAdjust(){ if(m_Lnumber0) { delete []StartP。 delete []EndP。 delete []L。 delete []P。 delete []V。 } if(m_Pnumber0) { delete []Height。 delete []ATPA。 delete []ATPL。 delete []dX。 for(int i=0。 im_Pnumber。i++) if(Pname[i]!=NULL)delete[](Pname[i])。 delete []Pname。 }}10. GetStationNumber點名獲取函數(shù)工作流程如下:(1)將待查點名name與Pname數(shù)組中已經(jīng)保存的點名利用系統(tǒng)內(nèi)置函數(shù)strcmp逐一比較,檢查Pname中是否已經(jīng)保存有name這個點名,如果Pname中存在name這個點名,就返回到name在Pname中的下標(biāo)。(2)如果Pname中沒有name這個點名,則向計算機內(nèi)申請內(nèi)存,然后利用系統(tǒng)內(nèi)置函數(shù)strcpy將name復(fù)制到申請的內(nèi)存中,再將內(nèi)存地址存到Pname數(shù)組中,再將內(nèi)存地址存到Pname數(shù)組中,最后返回name在Pname中的下標(biāo).函數(shù)源代碼如下:int CLevelingAdjust:: GetStationNumber(char *name){ for(int i=0。 im_Pnumber。 i++) { if(Pname[i]!=NULL) { //將待查點名與已經(jīng)存入點名數(shù)組的點名比較 if(strcmp(name,Pname[i])==0)return i。 } else { //待查點名是一個新的點名,將新點名的地址放到Pname數(shù)組中 int len = strlen(name)。 Pname[i] = new char[len+1]。 strcpy(Pname[i], name)。 return i。 } } return 1。 //Pname數(shù)組已經(jīng)存滿,且沒有待查點名 }11. Inputdata原始數(shù)據(jù)輸入函數(shù)該函數(shù)有一個形參datafile,定義為string型地址變量,其內(nèi)容是數(shù)據(jù)文件名稱字符串的地址,文件名包括文件的全路徑及擴張名,如文件在程序所在的文件目錄下的路徑為“”。為了從數(shù)據(jù)文件讀取數(shù)據(jù),函數(shù)內(nèi)首先聲明了FILE(文件指針定義的關(guān)鍵字)型變量fp,并調(diào)用fopen函數(shù)打開數(shù)據(jù)文件,將文件的指針賦給fp。接著,按照數(shù)據(jù)文件中的數(shù)據(jù)內(nèi)容的順序與格式,先讀取網(wǎng)的概況數(shù)據(jù),在讀取網(wǎng)的已知高程數(shù)據(jù),最后讀取觀測高差數(shù)據(jù)。函數(shù)院代碼如下:void CLevelingAdjust:: Inputdata(char *datafile){ FILE *fp。 if((fp=fopen(datafile,r))==NULL) { MyBreak(\n 數(shù)據(jù)文件打不開!)。 exit(0)。 } fscanf(fp,%d%d%d,amp。m_Lnumber,amp。m_Pnumber,amp。m_knPnumber)。 int unPnumber=m_Pnumberm_knPnumber。 Height=new double [m_Pnumber]。 dX=new double [m_Pnumber]。 ATPA=new double [m_Pnumber*(m_Pnumber+1)/2]。 ATPL=new double [m_Pnumber]。 StartP=new int [m_Lnumber]。 EndP=new int [m_Lnumber]。 L=new double [m_Lnumber]。 V=new double [m_Lnumber]。 P=new double [m_Lnumber]。 fscanf(fp,%lf,amp。m_Sigma)。 Pname=new char* [m_Pnumber]。 for(int i=0。im_Pnumber。i++) { // GetStationNumber函數(shù)根據(jù)Pname[i]是否為NULL // 確定Pname[i]是否為點名地址 Pname[i] = NULL。 char buffer[100]。 //臨時數(shù)組,保存從文件中讀到的點名 // 讀取已知高程數(shù)據(jù) for( i=0。i=m_knPnumber1。i++) { fscanf(fp,%s,buffer)。 int c=GetStationNumber(buffer)。 fscanf(fp,%lf,amp。Height[c])。 } // 讀取觀測數(shù)據(jù) for(i=0。im_Lnumber。i++) { fscanf(fp,%s,buffer)。 //讀取高程起點名 StartP[i]=GetStationNumber(buffer)。 if(StartP[i]0) { fprintf(resultfp,\n數(shù)據(jù)文件出錯:)。 fprintf(resultfp,\n第%d個高差的起始點名為\%s\,i+1,buffer)。 fclose(resultfp)。 exit(0)。 } fscanf(fp,%s,buffer)。//讀取高程終點 EndP[i]=GetStationNumber(buffer)。 if(EndP[i]0) { fprintf(resultfp,\n數(shù)據(jù)文件出錯:)。 fprintf(resultfp,\n第%d個高差終點的點名為\%s\,i+1,buffer)。 fclose(resultfp)。 exit(0)。 } fscanf(fp,%lf%lf,amp。L[i],amp。P[i])。 //讀取高差值與路線長度 P[i]=[i]。 } fclose(fp)。}12. Printdata原始數(shù)據(jù)寫至結(jié)果文件函數(shù)此函數(shù)的功能就是將網(wǎng)的已知信息反饋到結(jié)果文件中。在結(jié)果文件中顯示網(wǎng)額信息,例如;網(wǎng)的總點數(shù),總觀測值,已知點個數(shù)。函數(shù)源代碼如下:void CLevelingAdjust:: Printdata(){ int i。 fprintf(resultfp,\n 觀測值總數(shù): %d 總點數(shù): %d 已知點數(shù):%d \n, m_Lnumber, m_Pnumber,m_knPnumber)。 fprintf(resultfp,\n 驗前單位權(quán)中誤差:%lf ,m_Sigma)。 fprintf(resultfp,\n\n 已知高程:\n)。 for(i=0。i=m_knPnumber1。i++) { fprintf(resultfp,\n%5d %8s ,i+1,Pname[i])。 fprintf(resultfp,% ,Height[i])。 } fprintf(resultfp,\n\n 高差觀測值:\n)。 for(i=0。i=m_Lnumber1。i++) { fprintf(resultfp,\n%5d%8s%8s,i+1,Pname[StartP[i]],Pname[EndP[i]])。 fprintf(resultfp,% %,L[i],[i])。 }}13. ca_H0近似高程計算近似高程計算的思路第一步,計算位置點標(biāo)志。各點的高程值用Height數(shù)組保存,近似高程計算計算之前,。當(dāng)某點的近似高程計算出來之后,,近似高程計算就此結(jié)束。第二步,計算高程。近似高程計算的基本思路是,遍歷觀測值,找到每一個觀測值起始點號、終點號,再根據(jù)點號從Height數(shù)組中獲得每一段高程起始點的高程值和終點的高程值,當(dāng)高差的一端是高程已知點、另一端是高程已知點時,就由已知點高程和觀測高差傳算出未知點的高程值,并將計算結(jié)果賦給高程數(shù)組,如果差兩端同為已知點或者同為未知點,就跳到下一次循環(huán),繼續(xù)查找下一個觀測值。函數(shù)源代碼如下:void CLevelingAdjust:: ca_H0(){ for(int i=m_knPnumber。im_Pnumber。i++)Height[i]=。 int jj=0。 //計算出近似高程的點數(shù) for(int ii=1。ii++) { for(i=0。im_Lnumber。i++) { int k1=StartP[i]。 //高差起點號 int k2=EndP[i]。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1