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.学生信息管理系统。...