测量程序设计作业

发布 2021-05-05 21:50:28 阅读 2575

1、编写c语言文件读写函数,以测量具体工程中的两点坐标反算方位角与平距为例。

建立文件,格式如下。

dxdytoaz

程序如下。#include ""

#include ""

#include ""

#define pi 3.1415926535898

double dxdy_az(double dx,double dy);/声明。

double dxdy_s(double dx,double dy);

int main()/读写的主函数。

char ch1[12];

int zds,i=0;

double qd[10][2],zd[10][2];

double az[10],s[10],ddx[10],ddy[10];

//下面是读文件**。

file *fp;

fp=fopen("d:\\测量程序设计\\"r");

fscanf(fp,"%s",ch1);

if(strcmp(ch1,"dxdytoaz")!0)//判断两个字符串是否相等。

fscanf(fp,"%d",&zds);

for(i=0;i

fclose(fp);

for(i=0;i

//下面是写文件**。

file *fpw;

fpw=fopen("d:\\测量程序设计\\"w");

fprintf(fpw,"计算的方位角与平距值如下:");

for(i=0;i

fclose(fpw);

return 0;

double dxdy_az(double dx,double dy)

double alfa;

if(dx==0) alfa=fabs(dy)/dy*pi/2;

else alfa=atan(dy/dx);

if(dx>0&&dy>0) return(alfa);

if(dx>0&&dy<0) return(alfa+2*pi);

if(dx<0) return(alfa+pi);

return (alfa);

double dxdy_s(double dx,double dy)

return(sqrt(dx*dx+dy*dy));

运行后生成的文件内容为。

计算的方位角与平距值如下:

第 1 个方位角= 0.06953175 ,平距= 355.088

第 2 个方位角= 1.27092875 ,平距= 366.359

第 3 个方位角= 5.35982262 ,平距= 407.881

2、上面的实例,尝试在linux下的gcc编译。

使用gcc – o survey 生成新的可执行文件survey

执行 ./survey

3、如何设计并实现通用的矩阵运算处理类?要求有构造函数与析构函数。

#include

#include ""

#ifndef _matrix_h_

#define _matrix_h_

using namespace std;

class cmatrix

double cmatrix::transpose(double a[15][15],double b[15][15],int m,int n)

int i,j;

for(i=0;i for(j=0;jb[j][i]=a[i][j];

return 0.0;

int cmatrix::inv(double a[4][4],int m)

int *is,*js,i,j,k,l,u,v;

double d,p;

is=(int *)malloc(m*sizeof(int));

js=(int *)malloc(m*sizeof(int));

for(k=0;k

if(d+1.0==1.0)

if(is[k]!=k)

for(j=0;j if(j!=k)

for(i=0;i if(i!=k)

for(j=0;jif(j!=k)

u=i*m+j;

a[i][j]=a[i][j]-a[i][k]*a[k][j];

for(i=0;i if(i!=k)

u=i*m+k;a[i][k]=-a[i][k]*a[k][k];

for(k=m-1;k>=0;k--)

free(is);free(js);

return (1);

4、结合测绘工程项目,设计并实现常用的测量典型函数数据处理类。

1)c/c++header file 增加头文件,生成。**件,定义类文件。

#include

#include ""

#include ""

#include ""

#define pi 3.141592653589

#ifndef _survey_h_

#define _survey_h_

using namespace std;

class csurvey{

public:

double angle,radio,az,s;

public:

double angle_to_radio(double alfa);

double radio_to_angle(double alfa);

double dxdy_az(double dx,double dy);

double dxdy_s(double dx,double dy);

#endif

2)增加。cpp文件,c++ source file 生成。cpp文件,实现类里的成员函数。

#include ""

double csurvey::angle_to_radio(double alfa)

double alfa1,alfa2,alfa3,alfa4;

alfa1=floor(alfa);/整度。

alfa2=floor((alfa-floor(alfa))*100);/整分。

alfa3=(alfa*100-floor(alfa*100)) 100;//整秒。

alfa4=alfa1+alfa2/60+alfa3/3600;

测量程序设计复习大纲

测量程序设计考试大纲。1 考试采用闭卷的方式进行,题型包括填空 简答 编程 综合四类题目,所有题目均可在课件上找到,希望同学门仔细看课件,争取有好成绩。2 填空几乎包括课件所讲有关vb 和测量知识的所有内容。3 13次课件中,应该掌握内容 不针对考试 课件1 程序设计步骤和程序设计规范。课件2 vb...

vfp程序设计作业 程序设计基础

实验报告。实验目的 1.掌握程序文件的建立 编辑和运行方法。2.熟练掌握交互式输入语句accept,input,wait的使用。3.掌握程序控制结构的编写。4.能正确解读基本程序。实验内容 实验教程 上机实例8 1 上机实例8 2 上机实例8 3 input 请输入存款年限 to nx do cas...

vfp程序设计作业 程序设计 二

实验报告。实验目的 1.掌握过程文件的使用。2.掌握选择嵌套 循环嵌套 选择与循环的相互嵌套的规则。3.能正确解读基本程序。实验内容 实验教程 指导书p58 上机实例9 2 clearset procedure to exam0902guo use stud do while t.学生信息管理系统。...