1 / 44
文档名称:

测绘程序设计课程实习报告2013.doc

格式:doc   页数:44页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

测绘程序设计课程实习报告2013.doc

上传人:iluyuw9 2016/6/14 文件大小:0 KB

下载得到文件列表

测绘程序设计课程实习报告2013.doc

相关文档

文档介绍

文档介绍:班级: 115111 《测绘程序设计课程实****报告》 2013 姓名: 组号: 成绩: 1 / 44 测绘程序设计课程实****报告一、实****目的巩固之前所学的 c++ 类定义、文件操作等各方面知识,掌握矩阵计算的基本算法,熟悉并熟练运用平差模型,掌握测量平差的基本原理和公式,并处理测量观测数据。二、实****内容该课程的实****主要为 c语言及 c++ 编程基础,矩阵操作算法,条件平差,间接平差,以及在水准网平差中的应用。三、实****过程(一) 实****1( 文件的基本操作以及角度、弧度的转化) C++文件操作函数包含于头文件<fstream><ofstream><ifstream> ,一般情况下使用<fstream> 即可。在计算过程中需要文件输出格式控制,函数包含于<iomainip> 。c++ 的流操作函数包含于<iostream> ,相应的流函数在命名空间“std ”。角度转弧度的过程中,首先判断正负,对符号进行不同情况的处理。将度数的分,秒位分别除以 60、3600 ,然后把得到的结果与度位绝对值相加,判断符号。弧度转角度的过程中,同样判断正负,取小数位乘以 60取整数得到相应角度的分,再取剩余的小数乘以 60即得到相应角度的秒。 2 / 44 #include <iostream> #include <> #include <fstream> #include <string> using namespace std ; const double pi= ; int main () { fstream file ( "" ); // 定义文件操作对象 string aa; file >> aa; cout << aa << endl ; // 输出文件中的内容 int a=1; // 定义重复输入使用的变量 while (a) // 限制循环,重复输入{ float a1, a2, a3; cout << endl ; double deg ; cout <<" 输入度" << endl ; cin >> a1; cout <<" 输入分" << endl ; cin >> a2; cout <<" 输入秒" << endl ; cin >> a3; cout <<" 角度为" << a1 <<"°" << a2 <<"′" << a3 <<"″" << endl ; if( a1 >=0) // 判断输入度数的正负 deg = a1+ a2/ 60+ a3/ 3600 ; else 3 / 44 deg = a1- a2/ 60- a3/ 3600 ; double radian ; radian = deg / 180 * pi; cout <<" 转换得弧度为" << radian << endl ; cout << endl ; cout <<" 输入弧度: " << endl ; cin >> radian ; bool tm=0; deg = radian * 180 / pi; if( deg <0){ tm=1; deg =- deg ;} a1= int ( deg ); a2= int (( deg - a1 )* 60 ); a3=(( deg - a1- a2/ 60 )* 3600 ); if( tm==1){ a1=- a1; tm=0;} cout <<" 转换后角度为" << a1 <<"°" << a2 <<"′" << a3 <<"″" << endl ; } return 0;} 204 / 44 输入分 55 输入秒 32 角度为 20°55′32″转换得弧度为 输入弧度: 转化后角度为 179 °54′ ″ Press any key tocontinue ,角度转化可以添加是否超过 59的判断。(二) 实****2 (概率计算) 、粗差探测等平差计算中经常需要计算某些特定分布函数的反函数值,为满足计算需要,使用 CProbability 类对相关计算进行封装。 。(三) 实****3( 矩阵基本运算) 、减法、乘法、转置、求逆,封装在一个类中。为了方便之后的计算与使用,类中还添加了从文件中读入矩阵、输出矩阵,向控制台输入输出矩阵的函数。 5 / 44 代入运算的矩阵均用动态的一维数组表示。先定义 double 型指针,在确定矩阵大小后动态申请空间, row 行col 列的矩阵定义为: double *mat = new double[row*col]; 第i行j列的元素为