测绘类C程序代码

合集下载

用c,,语言编程实现遥感图像处理实习报告

用c,,语言编程实现遥感图像处理实习报告

用c,,语言编程实现遥感图像处理实习报告C语言基础编程实习报告(2011~2012学年第2学期)实习名称:认识实习分项名称:C语言基础编程系别:计算机与通信工程系专业:测控(1)班学号:姓名:实习地点:学校机房3楼实习时间:8月23日~8 月26日实习成绩:指导教师:严光银翟勇涛西南交通大学峨眉校区2012年8 月26 日一.实习目的和要求实习目的:1、巩固C语言编程基础知识2、熟练C语言调试中的常见错误及处理办法3、加强C语言综合编程能力训练4、熟练掌握C语言程序上机调试过程5、学会编写C语言程序解决简单计算题、字符串处理问题、日期和时间处理问题、高精度数处理等问题6、提高外文资料阅读理解的能力。

要求:1.电子文档建立一个文件夹,名称为:学号姓名C基础如:学号为20106900,姓名为李四,则,文件夹名称:20106900李四C 基础①C基础编程(10个C程序)文件名格式:学号姓名简拼_题目编号A.c如:题号为1001,则文件名为:20106900LS_1001A.c②C强化编程(共10道,至少选做4道题)文件名格式:学号姓名简拼_题目编号B.c③实习报告电子文档:学号姓名C 基础.doc④改正错误分析示例中的错误2.实习报告(打印稿)二.实习方式和安排方式:上课与上机安排:三. 实习内容(一)C基础编程(选做6题)在杭电OJ成功提交的题目数:6在杭电OJ未成功提交的题目编号:无提交的电子文档中包含的C程序数:6从6道基础编程题中任选2道比较满意的题目,写出详细解题报告如下: ***************************第1题start***************************** (1)题目解析题目编号1108问题描述编写程序计算2个整数a、b的最小公倍数。

输入数据输入数据输入2个整数a和b,中间用空格间隔。

输出要求对于每次读入的一对整数,输出最小公倍数的结果。

每个结果以回车结束。

常用测量程序设计

常用测量程序设计

《测绘程序设计()》上机实验报告(Visual C++.Net)班级:学号:姓名:序号:二零一零年四月实验7 常用测量程序设计一、实验目的∙巩固类的创建与使用∙掌握数组参数的传递∙掌握常用测绘程序设计的技巧二、实验内容编写高斯投影正、反算程序设计思路基于对话框的设计,添加两个头文件分别是Angle和Gauss ,在角度类中添加角度类的函数,角度类的函数我用了老师的例子,因为我以前写的那个角度类,定义的存贮角度类型的值是一个变量,引用起来不好用。

然后就是在Gauss的头文件和cpp中添加代码,我一共定义了四个函数,分别是高斯正算,求X的一个函数,高斯反算,求Bf的一个函数。

定义完类之后,就在界面上引用函数即可。

主要代码Gauss.h#pragma onceclass Gauss{/*double a;double b;*///double e=sqrt(a*a-b*b)/a;//double _e=sqrt(a*a-b*b)/b;public:/*Gauss(double a1,double b1);*/Gauss(void);~Gauss(void);public:void CGaussForward(double dB,double dL,double dCML,int type,double &x,double &y);double ComptX(double dB);void CGaussInverse(double x, double y, double dCML,int type, double &dB, double &dL);double ComptBf(double x);void ellipd(int type);};Gauss.cpp#include"StdAfx.h"#include"Gauss.h"#include"math.h"#include"Angle.h"const double PI=4.0*atan(1.0);double a=6378245.0;double b=6356863.0187730473;//初始化double e=sqrt(a*a-b*b)/a;double _e=sqrt(a*a-b*b)/b;/*Gauss::Gauss(double a1=6378245.0,double b1=6356863.0187730473){a=a1;b=b1;}*///Gauss::Gauss(double a1, double b1)//{ a1=6378245.0;// b1=6356863.0187730473;// a=a1;// b=b1;// /*double e=sqrt(a*a-b*b)/a;//double _e=sqrt(a*a-b*b)/b;*///}Gauss::Gauss(void){}Gauss::~Gauss(void){}void Gauss::ellipd(int type){if(type==1) //克拉索夫斯基椭球{a=6378245.0;b=6356863.0187730473;//e=sqrt(0.006693421622966);}else if(type==2) //1975国际协议椭球{a=6378140.0;b=6356755.2881575287;//e=sqrt(0.006694384999588);}else if(type==3) //WGS-84椭球{a=6378137.0;b=6356752.3142;//e=sqrt(0.0066943799013);}}void Gauss::CGaussForward(double dB,double dL,double dCML,int type,double &x,double &y) {CAngle B(dB);CAngle L(dL);CAngle CML(dCML);CAngle _L(L-CML); //计算经差dB=B(RAD);ellipd(type);//设置椭球参数//double fengdai(type);//投影带double l=_L(RAD);double N=a/sqrt(1-e*e*sin(dB)*sin(dB));double t=tan(dB);double Eta=_e*cos(dB);double X=ComptX(dB);//double Rou;//Rou=180*3600/PI;x=X+N/2*sin(dB)*cos(dB)*l*l+N/24*sin(dB)*pow(cos(dB),3)*(5-t*t+9*Eta*Eta+4*pow(Eta,4))*pow(l,4)+N/720*sin(dB)*pow(cos(dB),5)*(61-58*t*t+pow(t,4))*pow(l,6);//+N*sin(dB)*cos(dB)*l*l/2//+N*sin(dB)*pow(cos(dB),3)*(5-t*t+9*Eta*Eta+4*pow(Eta,4))*pow(l,4)/24;// //+N/(720*pow(Rou,6))*sin(RadB)*pow(cos(RadB),5)*(61-58*t*t+pow(t,4))*pow(l,6);//+N*sin(dB)*pow(cos(dB),5)*(61-58*t*t+pow(t,4))*pow(1,6)/720;y=N*cos(dB)*l+N/6*pow(cos(dB),3)*(1-t*t+Eta*Eta)*pow(l,3)+N/120*pow(cos(dB),5)*(5-18*t*t+pow(t,4)+14*Eta*Eta-58*Eta*Eta*t*t)*pow(l,5)+500000;//+N*cos(dB)*l//+N*pow(cos(dB),3)*(1-t*t+Eta*Eta)*pow(1,3)/6//+N*pow(cos(dB),5)*(5-18*t*t+pow(t,4)+14*Eta*Eta-58*pow(Eta*t,2))*pow(l,5)/120;//dX=Round(dX,4);//dY=Round(dY,4);}double Gauss::ComptX(double dB){double A0=1+3/4*e*e+45/64*pow(e,4)+350/512*pow(e,6)+11025/16384*pow(e,8);const double A2=-1/2*(3/4*e*e+60/64*pow(e,4)+525/512*pow(e,6)+17640/16384*pow(e,8));const double A4=1/4*(15/64*pow(e,4)+210/512*pow(e,6)+8820/16384*pow(e,8));const double A6=-1/6*(35/512*pow(e,6)+2520/16384*pow(e,8));// const double A6=-1/6*(35/512*pow(e,6)+2520/16384*pow(e,8));const double A8=1/8*(315/16384*pow(e,8));double X= a*(1-e*e)*(A0*dB+A2*sin(2*dB)+A4*sin(4*dB)+A6*sin(6*dB)+A8*sin(8*dB));return X;}void Gauss::CGaussInverse(double x, double y, double dCML,int type, double &dB, double &dL) {ellipd(type);//设置椭球参数double Bf=ComptBf(x);double tf=tan(Bf);double Etaf=_e*cos(Bf);double Nf=a/sqrt(1-e*e*sin(Bf)*sin(Bf));double Mf=Nf/(1+_e*_e*cos(Bf)*cos(Bf));y=y-500000;dB=Bf-tf/(2*Mf*Nf)*y*y+tf/(24*Mf*pow(Nf,3))*(5+3*tf*tf+Etaf*Etaf-9*Etaf*Etaf*tf*tf)*pow(y,4)-tf/(720*Mf*pow(Nf,5))*(61+90*tf*tf+45*pow(tf,4))*pow(y,6);double l=1/(Nf*cos(Bf))*y-1/(6*pow(Nf,3)*cos(Bf))*(1+2*tf*tf+Etaf*Etaf)*pow(y,3)+1/(120*pow(Nf,5)*cos(Bf))*(5+28*tf*tf+24*pow(tf,4)+6*Etaf*Etaf+8*Etaf*Etaf*tf*tf)*pow( y,5);CAngle B(dB,RAD);CAngle _L(l,RAD);CAngle CML(dCML);CAngle L(CML+_L);dB=B(DMS);dL=L(DMS);}double Gauss::ComptBf(double x){double A0;A0=1+3.0/4*e*e+45.0/64*pow(e,4)+350.0/512*pow(e,6)+11025.0/16384*pow(e,8);double B0=x/(a*(1-e*e)*A0);const doubleK0=1.0/2*(3.0/4*e*e+45.0/64*pow(e,4)+350.0/512*pow(e,6)+11025.0/16384*pow(e,8));const double K2=-1.0/3*(63.0/64*pow(e,4)+1108.0/512*pow(e,6)+58239.0/16384*pow(e,8));const double K4=1.0/3*(604.0/512*pow(e,6)+68484.0/16384*pow(e,8));const double K6=-1.0/3*(26328.0/16384*pow(e,8));doubleBf=B0+sin(2*B0)*(K0+sin(B0)*sin(B0)*(K2+sin(B0)*sin(B0)*(K4+K6*sin(B0)*sin(B0))));return Bf;}Shiyan_7Dlg.cpp#include"stdafx.h"#include"shiyan_7.h"#include"shiyan_7Dlg.h"#include"Gauss.h"#include"Angle.h"void Cshiyan_7Dlg::OnBnClickedOk(){// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);Gauss D;D.CGaussForward(B, L, CML,type, X,Y);UpdateData(FALSE);//OnOK();}void Cshiyan_7Dlg::OnBnClickedOk2(){// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);Gauss DB;DB.CGaussInverse(X,Y,CML,type,B,L);UpdateData(FALSE);}Angle.h#pragma onceenum AngleStyle{DEG,DMS,RAD};class CAngle{public:CAngle(double value=0,AngleStyle style=DMS);~CAngle(void);private:double dValue;//角度值AngleStyle nCurStyle;//当前角度值类型private://设置常成员函数的作用:.类成员不会被改变//2.可以被常类变量调用double Deg(double dDms) const;double Dms(double dDeg) const;public://获取指定的类型获取角度值,//由于返回的是dValue的引用,所以该值大小可以改变,即可以进行赋值double& operator() (AngleStyle style);//重载,获取指定的类型获取角度值,该值不可改变,const CAngle类型变量调用double operator() (AngleStyle style) const;//重载运算符+/-friend CAngle operator + (const CAngle& m1,const CAngle& m2);friend CAngle operator - (const CAngle& m1,const CAngle& m2);};Angle.cpp参考老师的角度类运行结果正算反算总结这次试验做了很久,虽然有比较清楚的思路,但是在代码执行过程中出现了很多问题,刚开始的时候,出现了“无法解析的外部函数”,改了很久也没改出来,后来问同学,原来是在构造函数的地方出现了问题,修改后,这个错误没有了。

测绘程序设计

测绘程序设计

测绘程序设计通过了六周的课程设计,在我们学习完测绘程序设计基础、测量学、测量平差的基础等课程上,通过课程的设计、制定详细的程序设计计划,编码等环节,进一步巩固了我们在这两年多的时间里所学习的知识,做到学以致用,并培养我们对于测绘的综合应用能力,使我们真正地学会自主学习,学会自主处理解决问题的能力。

作为一个测绘工作者,测量过程中免不了要做一些平差的计算,如果遇到测量值较多的平差,则使计算简直成了一种煎熬。

随着电子计算机的出现,数学计算变得简单了很多,同时也使测量平差作业模式发生了翻天覆地的变化,把平差计算者从繁重的、枯燥乏味的数字计算中彻底解放了出来。

学会平差程序设计,可以帮助我们更加灵活的使用计算机来帮助我们做平差处理以及其他的测量计算。

1、角度弧度的相互转化程序;要求屏幕输入角度值或弧度值,将其转化为弧度值或角度值,实现互换。

键盘输入正、负角度,及弧度(弧度没有正负之分),计算实例,检验程序正确与否。

2、文件输入输出;3、矩阵的加减乘;4、条件平差、间接平差的计算;要求首先运用c++语言或c 语言编写程序,首先实现矩阵的加、减、乘、转置的基本运算,以及矩阵求逆运算,然后在文本中读写相关变量数据,根据条件平差和间接平差的基本公式,求出改正数、中误差及高程平差值,并输出到文本中。

具体算例中,条件平差与间接平差的文件书写不同,需分别写在不同的文件中,分别读取。

5、水准网的平差计算。

要求设计平差类,根据水准网平差计算内容及步骤定义平差类成员变量及成员函数,所需数据全部从文件中读取,全部数据存于同一个文件中,并以文本格式保存,文件格式的设计就是规定数据文件中包含的内容、各类数据的先后以及各种数据的书写格式。

数据存储方案设计,将磁盘中的数据读到内存中,按照不同的类别有序地放在变量或数组中,然后进行平差计算,最后将计算结果写到磁盘文件中。

1.老师讲解角度、弧度之间互相转化的计算方法以及注意事项,特别提及角度或弧度为负数的情况。

c测绘程序课课程设计

c测绘程序课课程设计

c测绘程序课课程设计一、教学目标本课程旨在让学生掌握测绘程序的基本概念、原理和应用,培养学生运用测绘程序解决实际问题的能力。

具体目标如下:1.知识目标:(1)了解测绘程序的定义、分类和特点;(2)掌握测绘程序的基本原理和方法;(3)熟悉测绘程序在我国的应用和发展状况。

2.技能目标:(1)能够运用测绘程序进行简单地形测绘;(2)能够分析并解决测绘过程中遇到的问题;(3)能够运用测绘程序成果进行工程设计和规划。

3.情感态度价值观目标:(1)培养学生的团队合作精神和责任感;(2)增强学生对测绘事业的认同感和自豪感;(3)培养学生关注国家发展、服务社会的意识。

二、教学内容本课程的教学内容主要包括以下几个方面:1.测绘程序的基本概念、分类和特点;2.测绘程序的基本原理和方法;3.测绘程序在我国的应用和发展状况;4.测绘程序的操作技巧和实际应用案例;5.测绘程序成果在工程设计和规划中的应用。

三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:用于传授基本概念、原理和方法;2.案例分析法:通过实际案例让学生了解测绘程序的应用;3.实验法:让学生动手操作,提高实际操作能力;4.讨论法:分组讨论,培养学生的团队合作精神和解决问题的能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用国内权威出版的测绘程序教材;2.参考书:提供相关领域的参考书籍,丰富学生的知识体系;3.多媒体资料:制作精美的PPT,直观展示测绘程序的应用场景;4.实验设备:配置相应的测绘仪器和软件,为学生提供实践操作的机会。

五、教学评估为了全面、客观地评估学生的学习成果,本课程将采取以下评估方式:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和积极性;2.作业:布置适量作业,评估学生对知识的掌握和运用能力;3.实验报告:评估学生在实验过程中的操作技能和问题解决能力;4.考试成绩:设置期中、期末考试,评估学生的知识掌握和运用能力。

c语言代码大全

c语言代码大全

c语言代码大全C语言代码大全。

C语言作为一种通用的高级语言,被广泛应用于系统程序设计和应用程序开发。

它具有高效的系统编程能力和灵活的应用程序编程能力,因此备受程序员们的喜爱。

在本文中,我们将为您介绍一些常见的C语言代码,帮助您更好地理解和运用C语言。

首先,让我们来看一个简单的C语言程序示例:```c。

#include <stdio.h>。

int main() {。

printf("Hello, World!\n");return 0;}。

```。

在这个示例中,我们使用了`#include`指令来包含标准输入输出库文件`stdio.h`,然后定义了一个`main`函数,函数内部使用`printf`函数打印了一条简单的消息,并通过`return 0`语句返回了程序执行的结果。

接下来,让我们看一下如何使用C语言实现一个简单的计算器功能:```c。

#include <stdio.h>。

int main() {。

char operator;double firstNumber,secondNumber;printf("Enter an operator (+, -, , /): ");scanf("%c", &operator);printf("Enter two operands: ");scanf("%lf %lf",&firstNumber, &secondNumber);switch(operator) {。

case '+':printf("%.1lf + %.1lf = %.1lf",firstNumber, secondNumber, firstNumber + secondNumber);break;case '-':printf("%.1lf %.1lf = %.1lf",firstNumber, secondNumber, firstNumber secondNumber);break;case '':printf("%.1lf %.1lf = %.1lf",firstNumber, secondNumber, firstNumber secondNumber);break;case '/':printf("%.1lf / %.1lf = %.1lf",firstNumber, secondNumber, firstNumber / secondNumber);break;default:printf("Error! operator is not correct");}。

2023年高等学校教师资格任教学科代码

2023年高等学校教师资格任教学科代码

高等学校教师资格任教学科代码(3)高职高专C51 农林牧渔大类C5101 农业技术类C510101 作物生产技术C510102 种子生产与经营C510103 设施农业技术C510104 观光农业C510105 园艺技术C510106 茶叶生产加工技术C510107 中草药栽培技术C510108 烟草栽培技术C510109 植物保护C510110 植物检疫C510111 农产品质量检测C5102 林业技术类C510201 林业技术C510202 园林技术C510203 森林资源保护C510204 野生植物资源开发与运用C510205 野生动物保护C510206 自然保护区建设与管理C510207 森林生态旅游C510208 林产化工技术C510209 木材加工技术C510210 森林采运工程C5103 畜牧兽医类C510301 畜牧兽医C510302 畜牧C510303 饲料与动物营养C510304 特种动物养殖C510305 兽医C510306 兽医医药C510307 动物防疫与检疫C510308 兽药生产与营销C5104 水产养殖类C510401 水产养殖技术C510402 水生动植物保护C510403 海洋捕捞技术C510404 渔业综合技术C5105 农林管理类C510501 农业经济管理C510502 农村行政管理C510503乡镇企业管理C510504 林业经济信息管理C510505 渔业资源与渔政管理C52 交通运送大类C5201 公路运送类C51 公路运送与管理C52 高等级公路维护与管理C53 路政管理C54 汽车运用技术C55 交通安全与智能控制C56 都市交通运送C57 公路监理C58 道路桥梁工程技术C59 工程机械控制技术C50 工程机械运用与维护C5202 铁道运送类C51 高速铁道技术C52 电气化铁道技术C53 铁道车辆C54 铁道机车车辆C55 铁道通信信号C56 铁道交通运行管理C57 铁道运送经济C58 铁道工程技术C5203 都市轨道运送类C520301 都市轨道交通车辆C520302 都市轨道交通控制C520303 都市轨道交通工程技术C520304 都市轨道交通运行管理C5204 水上运送类C520401 航海技术C520402 水运管理C520403 国际航运业务管理C520404 海事管理C520405 轮机工程技术C520406 船舶工程技术C520407 船舶检查C520408 航道工程技术C5205 民航运送类C520501 民航运送C520502 飞行技术C520503 空中乘务C520504 航空服务C520505 民航商务C520506 航空机电设备维修C520507 航空电子设备维修C520508 民航特种车辆维修C520509 航空通信技术C520510 空中交通管理C520511 民航安全技术管理C520512 航空油料管理和应用C520513 飞机制造技术C5206 港口运送类C520601 港口业务管理C520602 港口物流设备与自动控制C520603 集装箱运送管理C520604 港口工程技术C520605 报关与国际货运C5207 管道运送类C520701 管道工程技术C520702 管道工程施工C520703 管道运送管理C53 生化与药物大类C5301 生物技术类C530101 生物技术及应用C530102 生物试验技术C530103 生物化工工艺C530104 微生物技术及应用C5302 化工技术类C530201 应用化工技术C530202 有机化工生产技术C530203 高聚物生产技术C530204 化纤生产技术C530205 精细化学品生产技术C530206 石油化工生产技术C530207 炼油技术C530208 工业分析与检查C530209 化工设备维修技术C5303 制药技术类C530301 生化制药技术C530302 生物制药技术C530303 化学制药技术C530304 中药制药技术C530305 药物制剂技术C530306 药物分析技术C5304 食品药物管理类C530401 食品药物监督管理C530402 药物质量检测技术C530403 药物经营与管理C530404 保健品开发与管理C54 资源开发与测绘大类C5401 资源勘查类C540101 国土资源调查C540102 区域地质调查及矿产普查C540103 煤田地质与勘查技术C540104 油气地质与勘查技术C540105 水文地质与勘查技术C540106 金属矿产地质与勘查技术C540107 铀矿地质与勘查技术C540108 非金属矿产地质与勘查技术C540109 岩矿分析与鉴定技术C540110 宝玉石鉴定与加工技术C5402 地质工程与技术类C540201 矿山地质C540202 工程地质勘查C540203 水文与工程地质C540204 钻探技术C540205 地球物理勘查技术C540206 地球物理测井技术C540207 地球化学勘查技术C5403 矿业工程类C540301 煤矿开采技术C540302 金属矿开采技术C540303 非金属矿开采技术C540304 固体矿床露天开采技术C540305 沙矿床开采技术C540306 矿井建设C540307 矿山机电C540308 矿井通风与安全C540309 矿井运送与提高C5404 石油与天然气类C540401 钻井技术C540402 油气开采技术C540403 油气储运技术C540404 油气藏分析技术C540405 油田化学应用技术C540406 石油与天然气地质勘探技术C5405 矿物加工类C540501 矿物加工技术C540502 选矿技术C540503 选煤技术C540504 煤炭深加工与运用C540505 煤质分析技术C540506 选矿机电技术C5406 测绘类C540601 工程测量技术C540602 工程测量与监理C540603 摄影测量与遥感技术C540604 大地测量与卫星定位技术C540605 地理信息系统与地图制图技术C540606 地籍测绘与土地管理信息技术C540607 矿山测量C55 材料与能源大类C5501 材料类C550101 金属材料与热处理技术C550102 冶金技术C550103 高分子材料应用技术C550104 复合材料加工与应用技术C550105 材料工程技术C550106 建筑装饰材料及检测C5502 能源类C550201 热能动力设备与应用C550202 都市热能应用技术C550203 农村能源与环境技术C550204 制冷与冷藏技术C5503 电力技术类C550301 发电厂及电力系统C550302 电厂设备运行与维护C550303 电厂热能动力装置C550304 火电厂集控运行C550305 小型水电站及电力网C550306 供用电技术C550307 电网监控技术C550308 电力系统继电保护与自动化C550309 高压输配电线路施工运行与维护C550310 农村电气化技术C550311 电厂化学C56 土建大类C5601 建筑设计类C560101 建筑设计技术C560102 建筑装饰工程技术C560103 中国古建筑工程技术C560104 室内设计技术C560105 环境艺术设计C560106 园林工程技术C5602 城镇规划与管理类C560201 城镇规划C560202 都市管理与监察C5603 土建施工类C560301 建筑工程技术C560302 地下工程与隧道工程技术C560303 基础工程技术C5604 建筑设备类C560401 建筑设备工程技术C560402 供热通风与空调工程技术C560403 建筑电气工程技术C560404 楼宇智能化工程技术C5605 工程管理类C560501 建筑工程管理C560502 工程造价C560503 建筑经济管理C560504 工程监理C5606 市政工程类C560601 市政工程技术C560602 都市燃气工程技术C560603 给排水工程技术C560604 水工业技术C560605 消防工程技术C5607 房地产类C560701 房地产经营与估价C560702 物业管理C560703 物业设施管理C57 水利大类C5701 水文与水资源类C570101 水文与水资源C570102 水文自动化测报技术C570103 水信息技术C570104 水政水资源管理C5702 水利工程与管理类C570201 水利工程C570202 水利工程施工技术C570203 水利水电建筑工程C570204 浇灌与排水技术C570205 港口航道与治河工程C570206 河务工程与管理C570207 都市水利C570208 水利水电工程管理C570209 水务管理C570210 水利工程监理C5703 水利水电设备类C570301 水电站动力设备与管理C570302 机电设备运行与维护C570303 机电排灌设备与管理C5704 水土保持与水环境类C570401 水土保持C570402 水环境监测与分析C58 制造大类C5801 机械设计制造类C580101 机械设计与制造C580102 机械制造与自动化C580103 数控技术C580104 电机与电器C580105 玩具设计与制造C580106 模具设计与制造C580107 材料成型与控制技术C580108 焊接技术及自动化C580109 工业设计C580110 计算机辅助设计与制造C580111 精密机械技术C580112 医疗器械制造与维护C5802 自动化类C580201 机电一体化技术C580202 电气自动化技术C580203 生产过程自动化技术C580204 电力系统自动化技术C580205 计算机控制技术C580206 工业网络技术C580207 检测技术及应用C580208 理化测试及质检技术C580209 液压与气动技术C5803 机电设备类C580301 机电设备维修与管理C580302 数控设备应用与维护C580303 自动化生产设备应用C580304 医用电子仪器与维护C580305 医学影像设备管理与维护C5804 汽车类C580401 汽车制造与装配技术C580402 汽车检测与维修技术C580403 汽车电子技术C580404 汽车改装技术C580405 汽车技术服务与营销C580406 汽车整形技术C59 电子信息大类C5901 计算机类C590101 计算机应用技术C590102 计算机网络技术C590103 计算机多媒体技术C590104 计算机系统维护C590105 计算机硬件与外设C590106 计算机信息管理C590107 网络系统管理C590108 软件技术C590109 图形图像制作C590110 动漫设计与制作C5902 电子信息类C590201 电子信息工程技术C590202 应用电子技术C590203 电子测量技术与仪器C590204 电子仪器仪表与维修C590205 电子设备与运行管理C590206 电子声像技术C590207 电子工艺与管理C590208 信息安全技术C590209 图文信息技术C590210 微电子技术C590211 无线电技术C590212 广播电视网络技术C590213 有线电视工程技术C5903 通信类C590301 通信技术C590302 移动通信技术C590303 计算机通信C590304 程控互换技术C590305 通信网络与设备C590306 通信系统运行管理C60 环境保护、气象与安全大类C6001 环境保护类C600101 环境监测与治理技术C600102 环境监测与评价C600103 农业环境保护技术C600104 资源环境与都市管理C600105 都市检测与工程技术C600106 水环境监测与保护C600107 都市水净化技术C600108 室内检测与控制技术C6002 气象类C600201 大气科学技术C600202 大气探测技术C600203 应用气象技术C600204 防雷技术C6003 安全类C600301 工业环境保护与安全技术C600302 救援技术C600303 安全技术管理C61 轻纺食品大类C6101 轻化工类C610101 染整技术C610102 高分子材料加工技术C610103 制浆造纸技术C610104 香料香精工艺C610105 表面精饰工艺C6102 纺织服装类C610201 现代纺织技术C610202 针织技术与针织服装C610203 丝绸技术C610204 服装设计C610205 染织艺术设计C610206 纺织品装饰艺术设计C610207 新型纺织机电技术C610208 纺织品检查与贸易C6103 食品类C610301 食品加工技术C610302 食品营养与检测C610303 食品贮运与营销C610304 食品机械与管理C610305 食品生物技术C610306 农畜特产品加工C610307 粮食工程C6104 包装印刷类C610401 包装技术与设计C610402 印刷技术C610403 印刷图文信息处理C610404 印刷设备及工艺C610405 出版与发行C62 财经大类C6201 财政金融类C61 财政C62 税务C63 金融管理与实务C64 国际金融C65 金融与证券C66 金融保险C67 保险实务C68 医疗保险实务C69 资产评估与管理C60 证券投资与管理C61 投资与理财C62 证券与期货C6202 财务会计类C61 财务管理C62 财务信息管理C63 会计C64 会计电算化C65 会计与记录核算C66 会计与审计C67 审计实务C68 记录实务C6203 经济贸易类C620301 经济管理C620302 经济信息管理C620303 国际经济与贸易C620304 国际贸易实务C620305 国际商务C620306 商务经纪与代理C6204 市场营销类C620401 市场营销C620402 市场开发与营销C620403 营销与筹划C620404 医药营销C620405 电子商务C6205 工商管理类C620501 工商企业管理C620502 工商行政管理C620503 商务管理C620504 连锁经营管理C620505 物流管理C63 医药卫生大类C6301 临床医学类C630101 临床医学C630102 口腔医学C630103 中医学C630104 蒙医学C630105 藏医学C630106 维医学C630107 中西医结合C630108 针灸推拿C630109 中医骨伤C6302 护理类C630201 护理C630202 助产C6303 药学类C630301 药学C630302 中药C6304 医学技术类C630401 医学检查技术C630402 医学生物技术C630403 医学影像技术C630404 眼视光技术C630405 康复治疗技术C630406 口腔医学技术C630407 医学营养C630408 医疗美容技术C630409 呼吸治疗技术C630410 卫生检查与检疫技术C6305 卫生管理类C630501 卫生监督C630502 卫生信息管理C630503 公共卫生管理C630504 医学文秘C64 旅游大类C6401 旅游管理类C640101 旅游管理C640102 涉外旅游C640103 导游C640104 旅行社经营管理C640105 景区开发与管理C640106 酒店管理C6402 餐饮管理与服务类C640201 餐饮管理与服务C640202 烹饪工艺与营养C65 公共事业大类C6501 公共事业类C650101 社会工作C650102 小区管理与服务C650103 青少年工作与管理C650104 社会福利事业管理C650105 公共关系C650106 商检技术C650107 人民武装C650108 涉外事务管理C6502 公共管理类C650201 公共事务管理C650202 民政管理C650203 行政管理C650204 人力资源管理C650205 劳动与社会保障C650206 国土资源管理C650207 海关管理C650208 环境规划与管理C6503 公共服务类C650301 家政服务C650302 老年服务与管理C650303 小区康复C650304 心理征询C650305 科技成果中介服务C650306 职业中介服务C650307 现代殡仪技术与管理C650308 戒毒康复C66 文化教育大类C6601 语言文化类C660101 汉语C660102 应用英语C660103 应用日语C660104 应用俄语C660105 应用德语C660106 应使用方法语C660107 应用韩语C660108 商务英语C660109 旅游英语C660110 商务日语C660111 旅游日语C660112 文秘C660113 文物鉴定与修复C660114 文化事业管理C660115 文化市场经营与管理C660116 图书档案管理C6602 教育类C660201 语文教育C660202 数学教育C660203 英语教育C660204 物理教育C660205 化学教育C660206 生物教育C660207 历史教育C660208 地理教育C660209 音乐教育C660210 美术教育C660211 体育教育C660212 思想政治教育C660213 初等教育C660214 学前教育C660215 现代教育技术C660216 特殊教育C660217 小朋友康复C660218 人群康复C6603 体育类C660301 竞技体育C660302 运动训练C660303 社会体育C660304 体育保健C660305 体育服务与管理C67 艺术设计传媒大类C6701 艺术设计类C670101 艺术设计C670102 产品造型设计C670103 视觉传达艺术设计C670104 电脑艺术设计C670105 人物形象设计C670106 装潢艺术设计C670107 装饰艺术设计C670108 雕塑艺术设计C670109 珠宝首饰工艺及鉴定C670110 雕刻艺术与家俱设计C670111 旅游工艺品设计与制作C670112 广告设计与制作C670113 多媒体设计与制作C6702 演出艺术类C670201 演出艺术C670202 音乐演出C670203 舞蹈演出C670204 服装演出C670205 影视演出C670206 戏曲演出C670207 编导C6703 广播影视类C670301 广播电视技术C670302 摄影摄像技术C670303 音像技术C670304 影视多媒体技术C670305 影视动画C670306 影视广告C670307 主持与播音C670308 新闻采编与制作C670309 电视节目制作C670310 电视制片管理C68 公安大类C6801 公安管理类C680101 侦查C680102 经济犯罪侦查C680103 安全保卫C680104 警卫C680105 治安管理C680106 交通管理C680107 警察管理C680108 公共安全管理C680109 信息网络安全监察C680110 防火管理C680111 森林消防C680112 边防检查C680113 边境管理C680114 禁毒C6802 公安指挥类C680201 警察指挥与战术C680202 边防指挥C680203 边防船艇指挥C680204 边防通信指挥C680205 消防指挥C680206 参谋业务C680207 抢险救援C6803 公安技术类C680301 刑事技术C680302 警犬技术C680303 船艇动力管理C680304 船艇技术C680305 边防机要C6804 部队基础工作类C680401 部队政治工作C680402 部队财务会计C680403 部队后勤管理C69 法律大类C6901 法律实务类C690101 司法助理C690102 法律文秘C690103 司法警务C690104 法律事务C690105 书记官C6902 法律执行类C690201 刑事执行C690202 民事执行C690203 行政执行C6903 司法技术类C690301 刑事侦查技术C690302 司法鉴定技术C690303 安全防备技术C690304 司法信息技术C690305 司法信息安全。

c语言作业20150515测绘专业

a[j++]=b[i];
else
continue;
}
a[j]='\0';
}
int main()
{
int n;
char str[100], a[100];
printf("输入一串字符串:\n");
gets(str);
printf("请输入要删除字符的位置:\n");
9.如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量___C_____.
A) 为全局变量,在本程序文件范围内有效
B) 为局部变量,只在该函数内有效
C) 为局部变量,只在该复合语句中有效
D) 定义无效,为非法变量
10.调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是___D_____.
lastchar(str);
}
15.编写一个函数求k(n),K(n)的定义为:
1 =1
k(n)= k(n-1)*2 n为偶数
k(n-1)*3 n为奇数
#include <stdio.h>
#include<conio.h>
int k(int n)
1.在C语言中,当函数调用时 C 。
A. 实参和形参各占一个独立的存储单元
B. 实参和形参共用存储单元
C. 可以由用户指定实参和形参是否共用存储单元
D. 由系统自动确定实参和形参是否共用存储单元
2.C语言规定,函数返回值的类型是由 D 。
6.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是___D____。

基于ObjectARX的道路纵断面图绘制

基于ObjectARX的道路纵断面图绘制周俊【摘要】利用AutoCAD提供的ObjectARX开发环境以及C++语言,编写道路纵断面图自动绘制程序,提高了工作效率.【期刊名称】《城市勘测》【年(卷),期】2010(000)004【总页数】4页(P139-142)【关键词】ObjectARX;道路纵断面【作者】周俊【作者单位】西安市勘察测绘院,陕西,西安,710054【正文语种】中文【中图分类】P209在城市工程测量中,时常会接触道路纵断面图的测绘。

在外业测量中,根据用户要求沿路中线按一定距离采集点的高程以及路中桩的高程。

内业利用AutoCAD绘图,在没有专业设计软件辅助的情况下,绘制道路纵断面图是很繁琐的事,需要进行大量的、重复的操作,既降低了工作效率又容易出错。

利用AutoCAD提供的ObjectARX开发环境编写自动绘图程序,可以快速而准确地绘出道路纵断面图。

ObjectARX是AutoDesk公司针对AutoCAD平台上的二次开发而推出的一个开发软件包,它提供了以C++为基础的面向对象的开发环境及应用程序接口,能真正快速的访问AutoCAD图形数据库。

用Object-ARX开发的CAD软件具有模块性好、独立性强、连接简单、使用方便、内部功能高效实用等优点,并且支持MFC(Microsoft Fundation Class),能简洁并高效地实现许多复杂功能。

ObjectARX的类库构成有以下几项:(1)AcRx库,提供系统层次的类,用于动态链接库的初始化以及运行时刻类的注册和标识。

(2)AcEd库,提供一组用于定义和注册新的Auto-CAD命令的类。

(3)AcDb库,提供一组用于存取AutoCAD图形数据库结构的类。

(4)AcGi库,提供绘制AutoCAD实体图形界面的类。

(5)AcGe库,提供的实用类用于执行二维和三维几何操作。

3.1 AutoCAD数据库AutoCAD基本的数据库对象是实体、符号表和字典。

测绘类C#程序代码

常用测量程序设计代码(1)用全站仪在A点观测了B点斜边和垂直角,求A到B的高差。

(提示:22sin(1)cos2ABDh D a k a i vR=+-+-,D--斜边,a--垂直角,i--仪器高,v--反光镜高,k--大气折光系数)using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{class Application{static void Main(string[] args){Console.Write("请输入斜边=");double D = double.Parse(Console.ReadLine());Console.Write("请输入垂直角[ddd.mmss]=");double a = DEG(double.Parse(Console.ReadLine()));Console.Write("请输入仪器高=");double i = double.Parse(Console.ReadLine());Console.Write("请输入反光镜高=");double v = double.Parse(Console.ReadLine());double h = D * Math.Sin(a) + (1 - 0.13) * D / 6371000.0 * D / 6371000.0 * Math.Cos(a) * Math.Cos(a) / 2.0 + i - v;Console.WriteLine("高差为{0}",h);}//将ddd.mmss转为弧度static public double DEG(double ang){int fuhao = (int)(ang / Math.Abs(ang));ang = Math.Abs(ang);int d = (int)ang;int m = ((int)(ang * 100)) - d * 100;double s = ang * 10000 - m * 100 - d * 10000;return ((d + m / 60.0 + s / 3600.0) * fuhao) / 180.0 * Math.PI;}}}(2)如图所示,已知A点的坐标及A点到B点的边长及方位角,计算B点的坐标。

C程序代码大全

C程序代码大全Prepared on 21 November 2021<<endl;cout<<"------------------"<<endl;<<endl;cout<<"pi="<<pi<<" r="<<r<<" s="<<s<<endl;}#include <> 1 c<<endl;;int a[10];double xy[10];cout<<"sizeof(str)="<<sizeof(str)<<endl;cout<<"sizeof(a)="<<sizeof(a)<<endl;cout<<"sizeof(xy)="<<sizeof(xy)<<endl;<<endl;else if (score>=80)cout<<"Your grade is a B."<<endl;else if (score>=70)cout<<"Your grade is a C."<<endl;else if (score>=60)cout<<"Your grade is a D."<<endl;elsecout<<"Your grade is a E."<<endl;}#include <>main(){int n;cout<<"n=";cin>>n;if (n>=0 && n<=100 &&n%2==0)cout<<"n="<<n<<endl;elsecout<<"The "<<n<<" is out of range!"<<endl; }#include <>main(){int a,b,Max;.10for(int i=1;i<=10;i++)cout<<i<<" ";cout<<endl;.1for(int j=10;j>=1;j--)cout<<j<<" ";cout<<endl;.9for(int k=1;k<=10;k=k+2)cout<<k<<" ";cout<<endl;.Zfor(char c='A';c<='Z';c++)cout<<c;cout<<endl;.for(float x=0;x<=;x=x+cout<<x<<" ";cout<<endl;.for(float x1=0;x1<=+2;x1=x1+cout<<x1<<" ";cout<<endl;.+100int s=0;for(int n=1;n<=100;n++)s=s+n;cout<<"s="<<s<<endl;}#include<>main(){.+100int s=0,n=1;while(n<=100) {s=s+n;n++;}cout<<"s="<<s<<endl;.+100int s=0,n=0;do {n++;s+=n;}while(n<100);cout<<"s="<<s<<endl;um;cin>>st[i].name;cin>>st[i].maths;cin>>st[i].physics;cin>>st[i].chemistry;}otal=st[i].maths+st[i].physics+st[i].chemistry; um<<'\t';cout<<st[i].name<<'\t';cout<<st[i].maths<<'\t';cout<<st[i].physics<<'\t';cout<<st[i].chemistry<<'\t';cout<<st[i].total<<endl;}}#include<>main(){ame="<<(*p).name<<endl;cout<<"(*p).sex="<<(*p).sex<<endl;cout<<"(*p).age="<<(*p).age<<endl;cout<<"p->name="<<p->name<<endl;cout<<"p->sex="<<p->sex<<endl;cout<<"p->age="<<p->age<<endl;ame;cout<<"sex:";cin>>(*p).sex;cout<<"age:";cin>>(*p).age;ame="<<(*p).name<<endl;cout<<"(*p).sex="<<(*p).sex<<endl;cout<<"(*p).age="<<(*p).age<<endl;cout<<"-------------------------"<<endl;ame<<'\t';cout<<x[i].sex<<'\t';cout<<x[i].age<<endl;}cout<<"----------------"<<endl;;int int_values[] = {51, 23, 2, 44, 45,0,11};float float_values[] = {, , , , };student st_arr[]={101,"WangLin",92,102,"LiPing",85,103,"ZhaoMin",88};um<<" ";cout<<st_arr[i].name<<" ";cout<<st_arr[i].grade<<endl;}}#include<>otal<a[j].total)swap_Rec(&a[i],&a[j]); <<"\t"<<str_len("This is a test.")<<endl; }#include<>void disp(void); <<endl;}#include<><<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); um;cin>>st[i].name;cin>>st[i].grade;fprintf(fp1,"%d %s %f\n",st[i].num,st[i].name,st[i].grade);}fclose(fp1); <<endl; cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); <<endl;cout<<"Exiting program."<<endl;exit(1); */putc( 'A', stdin );if( ferror( stdin ) ){perror( "Write error" );clearerr( stdin );}/* See if read causes an error. */printf( "Will input cause an error " );c = getc( stdin );if( ferror( stdin ) ){perror( "Read error" );clearerr( stdin );}}#include<>#include<><<endl;for (i=1; i<=MAX; i++) {cin>>x;(x);}<<endl;}void push(float x) <<endl;for (i=1; i<=MAX; i++) {cin>>x;(x);}<<endl;}void push(float x) <<endl;}~stack(void) << endl; << endl;}<< endl; isp_count();delete p;();}#include<><< endl;}~ex_class() {cout << "The Object destroyed." <<endl;}void set_value(int n);void show_val(char *name);} ;<<endl;}#include<>um :";cout<<num<<endl;}};um :";cout<<<<endl;}um="<<num<<endl;}public: um=";cout<<<<endl;}how_value("(*p)obj2");al="<<val<<endl;DispFirst();}};<<endl;}virtual void aFn2(void) {cout<<"aFn2 is in Base class."<<endl;}<<endl;}};<<endl;}<<endl;<<endl;}<<endl;<<endl;}void aFn2(void) {cout<<"aFn2 is in First derived class."<<endl; }};<<endl;}void aFn2(void){cout<<"aFn2 is in Second derived class."<<endl; }};;cout<<"s1: "<<s1<<endl;cout<<"s2: "<<s2<<endl;10.2f10.5f;cout<<"String: "<<string<<endl;cout<<"p : "<<p<<endl;}#include<>#include <>;int n;1.7320534f << endl;}~stack(void) {cout << "Stack Destroyed." << endl;}void push(T);T pop(void);};<< endl;return;}stck[tos++] = i;}template <class T> T stack<T>::pop(void){if(tos==0){cout << "Stack underflow." << endl;return 0;}return stck[--tos];}irst;cout<<","<<(*theIterator).second<<" ";}cout<<endl;irst;cout<<","<<(*theIterator).second<<" ";}cout<<endl;irst;cout<<","<<(*it).second<<" ";}cout<<endl;econd << " ";elsecout << "[err] ";}cout << endl;}}#include <iostream>#include <string>#include <map>using namespace std;econd;cout<<"\t"<<(*theIterator).first<<endl; }econd;cout<<"\t"<<(*i).first<<endl;}econd;cout<<"\t"<<(*it).first<<endl;}econd;cout<<"\t"<<(*i).first<<endl;}}#include <iostream>#include <valarray>#include <>using namespace std;#define ARRAY_SIZE 3 .入栈for (i=0;i<10;i=i+2)(i);if (!()) {cout << "()=20;" << endl;()=20;}//弹出栈中所有的数据并显示cout<<"stack1: ";while (!()) {cout<<()<<" ";();}cout<<endl;}#include <iostream>#include <list>#include <numeric>using namespace std;//创建一个list容器的实例LISTINT,其存放int型数据typedef list<int> LISTINT;void main(void){//用LISTINT创建一个名为listOne的list对象 LISTINT listOne;//指定i为迭代器变量LISTINT::iterator i;LISTINT::reverse_iterator ir;//从前面向listOne容器中添加数据(2);(1);//从后面向listOne容器中添加数据(3);(4);//从前向后显示listOne中的数据for (i = (); i != (); ++i)cout << *i << " ";cout << endl;//从后向后显示listOne中的数据for (ir =();ir!=(); ++ir)cout << *ir << " ";cout << endl;//从键盘上输入数据for (i = (); i != (); ++i) {cout<<"listOne :";cin>>(*i);}//从前向后显示listOne中的数据for (i = (); i != (); ++i)cout << *i << " ";cout << endl;//bidirectional迭代器不允许加减运算// i=()+1;}#include <iostream>#include <iostream>#include <numeric>#include <vector>#include <list>#include <set>using namespace std;//利用类模板生成类实例typedef vector < int > IntArray;typedef list <int> LISTINT;typedef set<int> SET_INT;int add(int a, int b) {return a+b;}//在main()函数中测试accumulate算法void main (){//--------------------------------------------// accumulate算法对于普通数组的计算//--------------------------------------------- int x[]={1,3,5,7,9};cout<<"x[]:";for (int i=0;i<5;i++)cout<<x[i]<<" ";cout<<endl;cout<<"accumulate(x,x+5,0)=";cout<<accumulate(x,x+5,0)<<endl;int val=100;cout<<"val="<<val<<endl;cout<<"accumulate(x,x+5,val)=";cout<<accumulate(x,x+5,val)<<endl;//--------------------------------------------// accumulate算法对于vector容器的计算//--------------------------------------------- //声明intvector容器和迭代器iiIntArray intvector;IntArray::iterator ii;//向intvector容器中插入元素for (i=1; i<=5; i++) {(i);};//显示intvector容器中的元素值和累加结果cout << "intvector: "<<endl;for (ii=();ii !=();++ii)cout<<(*ii)<<" ";cout<<endl;cout<<"accumulate(),(),0)=";cout<<accumulate(),(),0)<<endl;//--------------------------------------------// accumulate算法对于list容器的计算//--------------------------------------------- //声明list容器对象和迭代器LISTINT::iterator iL;LISTINT list1;//向list1容器对象中插入元素并显示(1);(3);(5);(2);(6);//显示list1容器的元素值和累加结果cout << "list1: "<<endl;for (iL=();iL !=();++iL)cout<<(*iL)<<" ";cout<<endl;cout<<"accumulate(),(),0)=";cout<<accumulate(),(),0)<<endl;//--------------------------------------------// accumulate算法对于set容器的计算//--------------------------------------------- //声明set容器对象和迭代器SET_INT set1;SET_INT::iterator si;//向set1容器中插入元素(5);(20);(10);(15);(25);//显示set1容器的元素值和累加结果cout <<"set1: "<<endl;for (si=();si !=();++si)cout<<(*si)<<" ";cout<<endl;cout<<"accumulate(),(),0)=";cout<<accumulate(),(),0)<<endl;cout<<"accumulate(),(),100)=";cout<<accumulate(),(),100)<<endl;}#include <iostream>#include <algorithm>#include <vector>#include <list>#include <set>#define size 10using namespace std;//产生指定范围的整数随机数int getrand(int min,int max) {int m;m=(max-min);m=min+double(rand())/RAND_MAX*m ;return m;}//利用类模板生成实例typedef vector < int > IntArray;typedef list <int> LISTINT;typedef set<int> SET_INT;//在main()函数中测试accumulate算法void main (){//--------------------------------------------// count算法对于普通数组的计算//--------------------------------------------- int x[size];cout<<"x[]:";for (int i=0;i<size;i++) {x[i]=getrand(1,3);cout<<x[i]<<" ";}cout<<endl;cout<<"count(x,x+size,2)=";cout<<count(x,x+size,2)<<endl;cout<<"count(x+2,x+8,2)=";cout<<count(x+2,x+8,2)<<endl;//--------------------------------------------// count算法对于vector容器的计算//声明intvector容器和迭代器iiIntArray intvector;IntArray::iterator ii;//向intvector容器中插入元素for (i=1; i<size; i++) {(getrand(2,6));};//显示intvector容器中的元素值和统计结果cout << "intvector: ";for (ii=();ii !=();++ii)cout<<(*ii)<<" ";cout<<endl;cout<<"count(),(),4)=";cout<<count(),(),4)<<endl;//--------------------------------------------// count算法对于list容器的计算//--------------------------------------------- //声明list容器对象和迭代器LISTINT::iterator iL;LISTINT list1;//向list1容器对象中插入元素并显示for (i=1; i<size; i++) {(getrand(3,5));};//显示list1容器的元素值和统计结果cout << "list1: ";for (iL=();iL !=();++iL)cout<<(*iL)<<" ";cout<<endl;cout<<"count(),(),3)=";cout<<count(),(),3)<<endl;//--------------------------------------------// count算法对于set容器的计算//--------------------------------------------- //声明set容器对象和迭代器SET_INT set1;SET_INT::iterator si;//向set1容器中插入元素for (i=1; i<size; i++) {(getrand(1,10));};//显示set1容器的元素值和统计结果cout <<"set1: ";for (si=();si !=();++si)cout<<(*si)<<" ";cout<<endl;cout<<"count(),(),5)=";cout<<count(),(),5)<<endl;}#include <iostream>#include <algorithm>#include <string>#include <vector>//如果字符串以'S'开头,则返回trueint MatchFirstChar( const string& str){string s("S") ;return s == (0,1) ;}//测试count_if算法void main(){const int VECTOR_SIZE = 8 ;//生成成员类型为strings的vector容器类typedef vector<string > StringVector ;//定义迭代器类型typedef StringVector::iterator StringVectorIt ;//声明vector容器的对象StringVector NamesVect(VECTOR_SIZE) ;//声明迭代器StringVectorIt start, end, it ;int result = 0 ; // 存放统计数据//初始化vector容器NamesVectNamesVect[0] = "She" ;NamesVect[1] = "Sells" ;NamesVect[2] = "Sea" ;NamesVect[3] = "Shells" ;NamesVect[4] = "by" ;NamesVect[5] = "the" ;NamesVect[6] = "Sea" ;NamesVect[7] = "Shore" ;//设置容器的起始位置和终止位置start = () ;end = () ;//显示NamesVect容器的元素cout << "NamesVect: " ;for(it = start; it != end; it++)cout << *it << " " ;cout <<endl ;//统计并显示NamesVect容器的所有元素中以'S'字符开头的字符串 result = count_if(start, end, MatchFirstChar) ;cout << "Number of elements that start with letter \"S\" = " << result << endl ;//显示NamesVect容器[1,6]之间的元素cout <<"NamesVect[1]--NamesVect[6]: " ;for(it =&NamesVect[1]; it != &NamesVect[7]; it++)cout << *it << " " ;cout <<endl ;//统计并显示NamesVect容器的所有元素中以'S'字符开头的字符串cout << "Number of elements that start with letter \"S\" = " << result << endl ;}#include <iostream>#include <algorithm>#include <vector>using namespace std;//利用类模板生成实例typedef vector < int > IntArray;//显示数组void put_array(int x[],int size) {for(int i=0;i<size;i++)cout<<x[i]<<" ";cout<<endl;}//显示vector容器中的元素void put_vector(IntArray v){IntArray::iterator theIterator;for (theIterator=();theIterator!=();++theIterator){cout<<(*theIterator)<<" ";}cout<<endl;}//在main()函数中测试fill和fill_n算法void main (){//--------------------------------------------// fill和fill_n算法对普通数组的计算//---------------------------------------------int x[]={1,3,5,7,9};cout << "x[]: ";put_array(x,5);//填数处理fill(x+1,x+3,2);cout << "fill(x+1,x+3,2): "<<endl;put_array(x,5);fill_n(x,3,8);cout << "fill_n(x,3,8): "<<endl;put_array(x,5);//--------------------------------------------// fill和fill_n算法对于vector容器的计算//---------------------------------------------//声明intvector容器和迭代器iiIntArray intvector;//向intvector容器中插入元素for (int i=1; i<=10; i++) {(i);};//显示intvector容器中的元素值和统计结果cout << "intvector: "<<endl;put_vector(intvector);//填数处理fill(),()+3,2);put_vector(intvector);fill_n(&intvector[5],3,8);cout << "fill_n(&intvector[5],3,8): "<<endl;put_vector(intvector);}#include <iostream>#include <algorithm>#include <vector>#define ARRAY_SIZE 10using namespace std;//利用类模板生成实例typedef vector < int > IntArray;//显示数组void put_array(int x[],int size) {for(int i=0;i<size;i++)cout<<x[i]<<" ";cout<<endl;}//显示vector容器中的元素void put_vector(IntArray v){IntArray::iterator theIterator;for (theIterator=();theIterator!=();++theIterator){cout<<(*theIterator)<<" ";}cout<<endl;}//在main()函数中测试find()算法void main (){int i,value,*p;//--------------------------------------------// find()算法对于普通数组的处理//---------------------------------------------int x[ARRAY_SIZE]={1,3,5,7,9,2,4,6,8,10};cout << "x[]: ";put_array(x,ARRAY_SIZE);//find()算法查找,并显示查找结果for(i=0;i<=2;i++) {cout<<"value=";cin>>value;p=find(x,x+ARRAY_SIZE,value);if (p != x + ARRAY_SIZE) { //查到cout << "First element that matches " << value;cout<< " is at location " << p - x<< endl;}else { //未查到cout << "The sequence does not contain any elements"; cout<< " with value " << value << endl ;}}//声明intvector容器对象IntArray intvector;//向intvector容器中插入元素for (i=1; i<=10; i++) {(i);};//显示intvector容器中的元素值cout << "intvector: ";put_vector(intvector);//find()算法查找,并显示查找结果IntArray::iterator pos;for (i=0;i<=2;i++) {cout<<"value=";cin>>value;pos=find(),(),value);if (pos != ()) { //查到cout << "First element that matches " << value;cout<< " is at location " <<pos - ()<< endl;}else { //未查到cout << "The sequence does not contain any elements"; cout<< " with value " << value << endl ;}}}#include <iostream>#include <algorithm>#include <vector>#define ARRAY_SIZE 10using namespace std;//利用类模板生成实例typedef vector < int > IntArray;//显示数组void put_array(int x[],int size) {for(int i=0;i<size;i++)cout<<x[i]<<" ";}//显示vector容器中的元素void put_vector(IntArray v){IntArray::iterator theIterator;for (theIterator=();theIterator!=();++theIterator){cout<<(*theIterator)<<" ";}}//在main()函数中测试find()_end()算法void main (){int x[ARRAY_SIZE]={1,3,5,7,9,2,4,6,8,10};cout << "x[]: ";put_array(x,ARRAY_SIZE);cout<<endl;int y[]={5,7,9};cout << "y[]: ";put_array(y,3);cout<<endl;// find_end()算法查找,并显示查找结果int *p=find_end(x,x+ARRAY_SIZE,&y[0],&y[2]);if (p != x + ARRAY_SIZE) { //查到cout << "The first element that matches :" ;put_array(y,3);cout<< " is at location in x" << p - x<< endl;}else { //未查到cout << "The sequence does not contain any elements";cout<< " with value " ;put_array(&x[3],3);}//--------------------------------------------// find_end()算法对vector容器的处理//---------------------------------------------//声明intvector容器对象IntArray intvector;//向intvector容器中插入元素for (int i=1; i<=10; i++) {(i);};//显示intvector容器中的元素值cout << "intvector: ";put_vector(intvector);cout<<endl;IntArray temp;(5);(6);(7);cout << "temp: ";put_vector(temp);cout<<endl;// find_end()算法查找,并显示查找结果IntArray::iterator pos;pos=find_end(),(),(),());if (pos != ()) { //查到cout << "The first element that matches ";put_vector(temp);cout<< " is at location in intvector " <<pos - ()<< endl; }else { //未查到cout << "The sequence does not contain any elements";put_vector(temp);cout<< endl ;}}#include <iostream>#include <vector>#include <algorithm>using namespace std;//返回一个Fibonacci数,其由generate_n()算法调用int Fibonacci1(void){static int r;static int f1 = 0;static int f2 = 1;r = f1 + f2 ;f1 = f2 ;f2 = r ;return f1 ;}//返回一个Fibonacci数,其由generate()算法调用int Fibonacci2(void){static int r;static int f1 = 0;static int f2 = 1;r = f1 + f2 ;f1 = f2 ;f2 = r ;return f1 ;}//定义整型数的vector容器类typedef vector<int > IntVector ;//显示vector容器中的元素void put_vector(IntVector v,char *name){IntVector::iterator theIterator;cout<<name<<":"<<endl;for (theIterator=();theIterator!=();++theIterator){cout<<(*theIterator)<<" ";}cout<<endl;}//测试generate()和generate_n()算法void main(){const int VECTOR_SIZE = 15 ;//定义迭代器类typedef IntVector::iterator IntVectorIt ;//声明vector容器对象IntVector Numbers1(VECTOR_SIZE),Numbers2(VECTOR_SIZE); int i ;//初始化vector容器对象Numbers1[i] = i ;//显示vector容器对象的元素cout << "Before calling generate_n:" << endl ;put_vector(Numbers1,"Numbers1");//利用generate_n算法用Fibonacci 数填充vector容器 generate_n(), VECTOR_SIZE, Fibonacci1) ;//显示vector容器对象的元素cout << "After calling generate_n:" << endl ;put_vector(Numbers1,"Numbers1");//利用generate算法用Fibonacci 数填充vector容器generate(),(), Fibonacci2) ;//显示vector容器对象的元素cout << "After calling generate:" << endl ;put_vector(Numbers2,"Numbers2");}#include <iostream>#include <algorithm>#include <vector>using namespace std;//利用类模板生成实例typedef vector < int > IntArray;//显示数组void put_array(int x[],int size) {for(int i=0;i<size;i++)cout<<x[i]<<" ";cout<<endl;}//显示vector容器中的元素void put_vector(IntArray v){IntArray::iterator theIterator;for (theIterator=();theIterator!=();++theIterator){ cout<<(*theIterator)<<" ";}cout<<endl;}//在main()函数中测试reverse()和reverse_copy()算法void main (){//--------------------------------------------// reverse()和reverse_copy()算法对普通数组处理//---------------------------------------------int x[]={1,3,5,7,9};cout<<"x[]:";put_array(x,5);//reverse()反转x数组并显示reverse(x,x+5);put_array(x,5);int y[]={2,4,6,8,10};cout<<"y[]:";put_array(y,5);//reverse_copy()反转y数组的部分元素并拷贝到x数组第2个元素位置 reverse_copy(y+1,y+3,x+1);cout<<"x[]:";put_array(x,5);cout<<"y[]:";put_array(y,5);//--------------------------------------------// reverse()和reverse_copy()算法对vector容器的处理//---------------------------------------------//声明intvector容器和迭代器iiIntArray intvector;//向intvector容器中插入元素for (int i=1; i<=10; i++) {(i);};//显示intvector容器中的元素值cout << "intvector: "<<endl;put_vector(intvector);//reverse()对于vector容器的处理reverse(),());cout << "intvector: "<<endl;put_vector(intvector);// reverse_copy对于vector容器的处理IntArray temp(5);reverse_copy()+2,()+7,());cout << "temp: "<<endl;put_vector(temp);}#include <iostream>#include <algorithm>#include <vector>#include <>#define ARRAY_SIZE 15using namespace std;//定义整型数的vector容器类typedef vector<int > IntVector ;//显示数组void put_array(int x[],int size) {for(int i=0;i<size;i++)cout<<x[i]<<" ";cout<<endl;}//显示vector容器中的元素void put_vector(IntVector v,char *name){IntVector::iterator theIterator;for (theIterator=();theIterator!=();++theIterator){ cout<<(*theIterator)<<" ";}cout<<endl;}//产生指定范围的整数随机数int getrand(int min,int max) {int m;m=(max-min);m=min+double(rand())/RAND_MAX*m ;return m;}//在main()函数中测试sort()和partial_sort()算法void main (){int i;//--------------------------------------------// sort()和partial_sort()算法对普通数组处理//---------------------------------------------//sort()算法处理数组,并显示int x[ARRAY_SIZE];for (i=0;i<ARRAY_SIZE;i++) {x[i]=getrand(1,20);}cout<<"x[]:";put_array(x,ARRAY_SIZE);sort(x,x+ARRAY_SIZE);cout<<"sort(x,x+ARRAY_SIZE):"<<endl;put_array(x,ARRAY_SIZE);//partial_sort()算法对于数组进行处理int y[ARRAY_SIZE];for (i=0;i<ARRAY_SIZE;i++) {y[i]=getrand(1,30) ;}cout<<"y[]:";put_array(y,ARRAY_SIZE);partial_sort(y+2,y+7,y+ARRAY_SIZE);cout<<"partial_sort(y+2,y+7,y+ARRAY_SIZE):"<<endl; put_array(y,ARRAY_SIZE);//--------------------------------------------// sort()和partial_sort()算法对vector容器的处理//---------------------------------------------IntVector Numbers1,Numbers2;for(i=0;i<15;i++) {(getrand(1,30));(getrand(1,30));}put_vector(Numbers1,"Numbers1");put_vector(Numbers2,"Numbers2");//sort()算法处理并显示sort(),());cout<<"After call sort():"<<endl;put_vector(Numbers1,"Numbers1");//partial_sort()算法处理并显示partial_sort()+2,()+7,());。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常用测量程序设计代码(1)用全站仪在A点观测了B点斜边和垂直角,求A到B的高差。

(提示:22sin(1)cos2ABDh D a k a i vR=+-+-,D--斜边,a--垂直角,i--仪器高,v--反光镜高,k--大气折光系数)using System;using ;namespace ConsoleApplication1{class Application{static void Main(string[] args){("请输入斜边=");double D = ());("请输入垂直角[]=");double a = DEG()));("请输入仪器高=");double i = ());("请输入反光镜高=");double v = ());double h = D * (a) + (1 - * D / * D / * (a) * (a)/ + i - v;("高差为{0}",h);}MainMainaMaindd(DEG(str)));}else{break;}} while (true);i = 1;foreach (double a in导线转角集合) {a0 += a + ;if (a0 > 2 *{a0 -= 2 * ;}else if (a0 <{a0 += 2 * ;}("第{0}条边的方位角为{1}",i++,DMS(a0)); }}Maindd(DEG(str)));}else{break;}("请输入第{0}条边长值=", i++);导线边长集合.Add( ()));} while (true);ount; j++){a0 += 导线转角集合[j] + ;if (a0 > 2 * a0 -= 2 * ;x0 = x0 + 导线边长集合[j] * (a0);y0 = y0 + 导线边长集合[j] * (a0);("P{0}点的坐标是:{1},{2}",j+2,x0,y0); }}Maindd(str));}else{break;}("请输入第{0}段高差=", i++);路线段高差集合.Add()));} while (true);ount; j++){w += 路线段高差集合[j];总长度 += 路线段长度集合[j];}w = w - (Hb - Ha); ount; j++){H += 路线段高差集合[j] + v * 路线段长度集合[j]; ("P{0}点的高程是:{1}",j+1,H);}("最后一点就是B点!");}}}(7)在如图所示的前方交会中,ABJ三点按逆时针方向排列,已知AB两点的坐标和两个交会角度,求J点的坐标。

using System;using ;namespace ConsoleApplication1{class Application{static void Main(string[] args) {("请输入A点的x坐标=");double Ax = ());("请输入A点的y坐标=");double Ay = ());("请输入B点的x坐标=");double Bx = ());("请输入B点的y坐标=");double By = ());("请输入α的角度值=");doubleα = DEG()));("请输入β的角度值=");doubleβ = DEG()));1111()2ni i i i i P x y x y ++==-∑Maindd(str));}else{break ;}("请输入第{0}点的y 坐标=",i++);多边形Y 坐标集.Add( ())); } while (true );ount;for (int j = 0; j < Count-1; j++){area += 多边形X 坐标集[j] * 多边形Y 坐标集[j + 1] - 多边形X 坐标集[j + 1] * 多边形Y 坐标集[j];}22sin (1)cos 2AB D h D a k a i v R=+-+-a i v kMainEG()));差(D, α, 仪器高, 反光镜高, out 水平距离);水平距离平方集合.Add(水平距离 * 水平距离); 高差集合.Add(h);水平距离平方和 += 水平距离 * 水平距离;高差和 += h;} while (true );ount; j++){H += 高差集合[j] + 单位长度改正数 * 水平距离平方集合[j];("第{0}点的高程H={1}",j+2,H);}("最后一个点的高程应该与B 点的高程相同!");}}class 导线{iMain位角(MX, MY, AX, AY);List<double> 坐标增量X集合 = new List<double>();List<double> 坐标增量Y集合 = new List<double>();int i = 1;double坐标增量X和 = 0;double坐标增量Y和 = 0;double坐标增量X绝对值和 = 0;double坐标增量Y绝对值和 = 0;double水平距离和 = 0;do{("请输入{0}点到{1}点的水平距离S<直接回车结束输入>=",i,i+1);string str = ();if (str == "") break;double S = (str);("请输入{0}点的水平角<左角为正,右角为负>=", i);doubleβ = 导线.DEG()));i++;标(0, 0, β, S, α0, out dx, out dy);坐标增量X集合.Add(dx);坐标增量Y集合.Add(dy);坐标增量X和 += dx; ;坐标增量Y和 += dy; ;坐标增量X绝对值和 += (dx);坐标增量Y绝对值和 += (dy);水平距离和 += S;} while (true);ount; j++){X += 坐标增量X集合[j] + X坐标单位长度改正数 * (坐标增量X集合[j]);Y += 坐标增量Y集合[j] + Y坐标单位长度改正数 * (坐标增量Y集合[j]);("第{0}点的X坐标={1},Y坐标={2}",j+2,X,Y);}("最后一个点的坐标应该与B点的坐标相同!");}}class 导线{i β22sin (1)cos 2AB D h D a k a i v R=+-+-a i v kMain 位角(MX, MY, AX, AY);List <double > 坐标增量X 集合 = new List <double >(); List <double > 坐标增量Y 集合 = new List <double >(); List <double > 高差集合 = new List <double >();List <double > 水平距离平方集合 = new List <double >(); int i = 1;double 坐标增量X 和 = 0;double 坐标增量Y 和 = 0;double 坐标增量X 绝对值和 = 0;double 坐标增量Y 绝对值和 = 0;double 水平距离和 = 0;double 高差和 = 0;double 水平距离平方和 = 0;do{("请输入{0}点到{1}点的斜距D<直接回车结束输入>=", i, i + 1);string str = ();if (str == "") break;double D = (str);("请输入{0}点的水平角<左角为正,右角为负>=", i);doubleβ = 导线.DEG()));("请输入{0}点到{1}点的垂直角=", i, i + 1);doubleα = 导线.DEG()));差(D, α, 仪器高, 反光镜高, out水平距离);水平距离平方集合.Add(水平距离 * 水平距离);高差集合.Add(h);水平距离平方和 += 水平距离 * 水平距离;高差和 += h;标(0, 0, β, 水平距离, α0, out dx, out dy);坐标增量X集合.Add(dx);坐标增量Y集合.Add(dy);坐标增量X和 += dx; ;坐标增量Y和 += dy; ;坐标增量X绝对值和 += (dx);坐标增量Y绝对值和 += (dy);水平距离和 += 水平距离;} while (true );ount; j++){H += 高差集合[j] + 单位长度改正数 * 水平距离平方集合[j];X += 坐标增量X 集合[j] + X 坐标单位长度改正数 * (坐标增量X 集合[j]);Y += 坐标增量Y 集合[j] + Y 坐标单位长度改正数 * (坐标增量Y 集合[j]);("第{0}点的X 坐标={1},Y 坐标={2},高程H={3}",j+2,X,Y,H);}("最后一个点的坐标和高程应该与B 点的坐标和高程相同!");}}class 导线{i β22sin (1)cos 2AB D h D a k a i v R=+-+-a i v kMain位角(MX, MY, AX, AY);位角(BX, BY, NX, NY);List<double> 坐标增量X集合 = new List<double>();List<double> 坐标增量Y集合 = new List<double>();List<double> 高差集合 = new List<double>();List<double> 水平距离平方集合 = new List<double>();List<double> 方位角集合 = new List<double>();int i = 1;double坐标增量X和 = 0;double坐标增量Y和 = 0;double坐标增量X绝对值和 = 0;double坐标增量Y绝对值和 = 0;double水平距离和 = 0;double高差和 = 0;double水平距离平方和 = 0;doubleα = α0;do{("请输入{0}点到{1}点的斜距D<直接回车结束输入>=",i, i + 1);string str = ();if (str == "") break;double D = (str);("请输入{0}点的水平角<左角为正,右角为负>=", i);doubleβ = 导线.DEG()));("请输入{0}点到{1}点的垂直角=", i, i + 1);double垂直角 = 导线.DEG()));差(D, 垂直角, 仪器高, 反光镜高, out水平距离);水平距离平方集合.Add(水平距离 * 水平距离);高差集合.Add(h);水平距离平方和 += 水平距离 * 水平距离;高差和 += h;标(0, 0, β, 水平距离, α, out dx, out dy);方位角集合.Add(α);坐标增量X集合.Add(dx);坐标增量Y集合.Add(dy);坐标增量X和 += dx; ;坐标增量Y和 += dy; ;坐标增量X绝对值和 += (dx);坐标增量Y绝对值和 += (dy);水平距离和 += 水平距离;} while (true);("请输入最后一个连接角<左角为正,右角为负>=");doubleβn = 导线.DEG()));位角(方位角集合[方位角集合.Count-1],βn);ount + 1);lear();坐标增量Y集合.Clear();坐标增量X和 = 0;坐标增量Y和 = 0;坐标增量X绝对值和 = 0;坐标增量Y绝对值和 = 0;for (int j = 0; j < 方位角集合.Count; j++){方位角集合[j] += 方位角改正数 * (j + 1); dd(dx);坐标增量Y集合.Add(dy);坐标增量X和 += dx; ;坐标增量Y和 += dy; ;坐标增量X绝对值和 += (dx);坐标增量Y绝对值和 += (dy);}ount; j++){H += 高差集合[j] + 单位长度改正数 * 水平距离平方集合[j];X += 坐标增量X集合[j] + X坐标单位长度改正数 * (坐标增量X集合[j]);Y += 坐标增量Y集合[j] + Y坐标单位长度改正数 * (坐标增量Y集合[j]);("第{0}点的X坐标={1},Y坐标={2},高程H={3}",j+2,X,Y,H);}("最后一个点的坐标和高程应该与B点的坐标和高程相同!");}}class导线{iMainEG()));("请输入B点到N点的坐标方位角=");doubleα1 = 导线.DEG()));List<double> 方位角集合 = new List<double>();int i = 1;doubleα = α0;do{("请输入{0}点的水平角[直接回车结束输入]<左角为正,右角为负>=", i);string str = ();if (str == "") break;doubleβ = 导线.DEG(str));i++;α = 导线.方位角(α,β);方位角集合.Add(α);} while (true);ount-1] - α1;double方位角改正数 = -方位角闭合差 / 方位角集合.Count;ount; j++){方位角集合[j] += 方位角改正数 * (j + 1);("{0}点到{1}点的坐标方位角={2}", j, j + 2, 导线.DMS(方位角集合[j]));}("最后一个坐标方位角应该与B点到N的坐标方位角相同!");}}class导线{iMain位角(MX, MY, AX, AY);位角(BX, BY, NX, NY);List<double> 坐标增量X集合 = new List<double>();List<double> 坐标增量Y集合 = new List<double>();List<double> 水平距离平方集合 = new List<double>();List<double> 方位角集合 = new List<double>();int i = 1;double坐标增量X和 = 0;double坐标增量Y和 = 0;double坐标增量X绝对值和 = 0;double坐标增量Y绝对值和 = 0;double水平距离和 = 0;double水平距离平方和 = 0;doubleα = α0;do{("请输入{0}点到{1}点的平距S<直接回车结束输入>=", i, i + 1);string str = ();if (str == "") break;double S = (str);("请输入{0}点的水平角<左角为正,右角为负>=", i);doubleβ = 导线.DEG()));i++;水平距离平方集合.Add(S * S);水平距离平方和 += S * S;标(0, 0, β, S, α, out dx, out dy);方位角集合.Add(α);坐标增量X集合.Add(dx);坐标增量Y集合.Add(dy);坐标增量X和 += dx; ;坐标增量Y和 += dy; ;坐标增量X绝对值和 += (dx);坐标增量Y绝对值和 += (dy);} while (true);("请输入最后一个连接角<左角为正,右角为负>=");doubleβn = 导线.DEG()));位角(方位角集合[方位角集合.Count-1],βn);ount + 1);lear();坐标增量Y集合.Clear();坐标增量X和 = 0;坐标增量Y和 = 0;坐标增量X绝对值和 = 0;坐标增量Y绝对值和 = 0;for (int j = 0; j < 方位角集合.Count; j++){方位角集合[j] += 方位角改正数 * (j + 1); dd(dx);坐标增量Y集合.Add(dy);坐标增量X和 += dx; ;坐标增量Y和 += dy; ;坐标增量X绝对值和 += (dx);坐标增量Y绝对值和 += (dy);}ount; j++){X += 坐标增量X集合[j] + X坐标单位长度改正数 * (坐标增量X集合[j]);Y += 坐标增量Y集合[j] + Y坐标单位长度改正数 * (坐标增量Y集合[j]);("第{0}点的X坐标={1},Y坐标={2}",j+2,X,Y);}("最后一个点的坐标应该与B点的坐标相同!");}}class导线{//将转为弧度static public double DEG(double ang){int fuhao = (int)(ang / (ang));ang = (ang);int d = (int)ang;int m = ((int)(ang * 100)) - d * 100;double s = ang * 10000 - m * 100 - d * 10000;return ((d + m / + s / * fuhao) / * ;}//计算方位角,返回弧度值public static double方位角(double x1, double y1, double x2, double y2){double deltaX = x2 - x1;double deltaY = y2 - y1;double angle = * ;if (deltaX) >{angle = (deltaY, deltaX);}if (angle < 0){angle += ;}if (deltaY <{angle += ;}return angle;}//计算坐标,返回已知点到计算点的方位角public static double坐标(double x0, double y0, double左角, double水平距离,double已知方位角,out double x,out double y) {double方位角 = 已知方位角 + 左角 + ;//将方位角调整到0到2π之间if (方位角 >= * 2) 方位角 -= * 2;if (方位角 < 方位角 += * 2;x = x0 + 水平距离 * (方位角);y = y0 + 水平距离 * (方位角);return方位角;}//根据后视边的方位角与左角,计算前进边的方位角public static double方位角(double后视边方位角, double 左角){double方位角 = 后视边方位角 + 左角 + ;//将方位角调整到0到2π之间if (方位角 >= * 2) 方位角 -= * 2;if (方位角 < 方位角 += * 2;return方位角;}}}。

相关文档
最新文档