测绘程序设计(C语言版).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《测绘程序设计(C语言版).doc》由会员分享,可在线阅读,更多相关《测绘程序设计(C语言版).doc(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除测绘程序设计(C版)实习报告学 号: XXXXXXXXXXXXX 姓 名: XXXXX 班 级: XXXXXXXX 专 业: 测绘工程 课程名称: 测绘程序设计(C及Matlab) 指导老师: 肖根如 2015年12月目录(请用 插入引用索引和目录 自动生成)目录- 2 -1、实习目的- 3 -2、实习内容- 3 -2.1实习环境- 3 -2.2实习主要内容介绍- 3 -2.2.1算法- 3 -2.2.2角度转换- 4 -2.2.3坐标转换- 5 -2.2.4 用if语句实现选择结构- 5 -2.2.5用switch语句实现多分支选择结构- 6
2、-2.2.6循环语句- 7 -2.2.7利用数组处理批量数据- 8 -2.2.8用函数实现模块化程序设计- 9 -2.2.9使用结构体- 10 -2.2.10对文件的使用- 10 -3.实习步骤- 11 -3.1基本程序- 11 -3.2程序改进- 11 -3.3程序完善- 12 -3.4程序扩展- 13 -4.实习成果- 14 -4.1初始调试- 14 -4.2成功调试- 16 -4.3运行界面- 17 -5.实习体会- 18 -6.附录:实习程序作业清单- 21 - 1、实习目的1.掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设
3、置。2.掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。3.掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型变量,掌握对这些变量赋值等使用的方法,知道输出时格式字符的使用。4.学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式,特别是自加运算符(+)和自减运算符(-)的使用。5.掌握C语言源程序的结构特点与书写规范。2、实习内容2.1实习环境 Turbo C 2.0集成开发环境2.2实习主要内容介绍 2.2.1算法 例2.1计算三角高程(公式:h=s*tana+i-v) 分析:步骤1:输入斜距s; 步骤2:输入竖直角a; 步骤3:输入仪器高i; 步骤4:输入
4、棱镜高v; 步骤5:s*tana+i-vh; 步骤6:输出h,结束。(1) N-S流程图法输入s,a,i,vs*tana+i-vh输出h结束(2)流程图法开始输入S、i、v、 Stan+i-v h输出h结束 2.2.2角度转换 例2.2度分秒转换 #include void main int a,b,c; double d; printf(Input ddmmss (Format :10 39 59):”); scanf(“%d%d%d”,&a,&b,&c); d=(a+b/60.0+c/3600.0); printf(“%d%d%d=%lfn”,a,b,c,d);2.2.3坐标转换 例2.3
5、坐标转换代码 #include void main() double N,H,B,L,e=1/298.25; double X,Y,Z; printf(“Input N,H,B,L”); scanf(“%lf%lf%lf%lf”,&N,&H,&B,&L); X=(N+H)*cos(B)*(L); Y=(N+H)*cos(B)*(L); Z=(N*(1-e*e)+H)*sin(B); printf(“X=%lfnY=%lfnZ=%lf”,X,Y,Z); 2.2.4 用if语句实现选择结构 例2.4解得一元二次方程ax2+bx+c=0的根。由键盘输入a,b,c。假设a,b,c的值任意,并不保证b2
6、-4ac=0。需要在程序中进行判别,如果b2-4ac=0,就计算并输出方程的两个实根,如果b2-4ac0,就输出“方程无实根”的信息。 编写程序: #include #include void main() double a,b,c,disc,x1,x2,p,q; scanf(“%lf%lf%lf”,a,b,c); disc=b*b-4*a*c; if(disc0) printf(“This equation hasnt real rootsn”); else p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q;x2=p-q; printf(“real roo
7、ts:nx1=%7.2fnx2=%7.2fn”,x1,x2); 2.2.5用switch语句实现多分支选择结构 例2.5用菜单实现GPS 测量中两相邻点间的距离要求。 编写程序: #includemain() char grade; scanf(%c,&grade); switch(grade) case A:printf(dmin1:); printf(100n); printf(dmax1:); printf(2000n); printf(dp1:); printf(300);break; case B:printf(dmin2:); printf(15n); printf(dmax1:)
8、; printf(250n); printf(dp2:); printf(70);break; case C:printf(dmin3:); printf(5n); printf(dmax3:); printf(40n); printf(dp3:); printf(1015);break; case D:printf(dmin4:); printf(2n); printf(dmax4:); printf(15n); printf(dp4:); printf(510);break; case E:printf(dmin5:); printf(1n); printf(dmax5:); printf
9、(10n); printf(dp5:); printf(25);break; return 0;2.2.6循环语句 例2.6求100200间的全部素数。 编写程序: #include #include void main() int n,k,i,m; m=0; for(n=101;n=200;n=n+2) k=sqrt(n); for(i=2;i=k+1) printf(“%d”,n); m=m+1; if(m%10=0)printf(“n”); printf(“n”); 2.2.7利用数组处理批量数据 例2.7采用测回法计算水平角 编写程序: # include # include # de
10、fine PI 3.14void main() int d2,e2,i; float f2,g2,h2,j2; double a2,b2,ang2,angle; for(i=0;i3;i+) scanf(%d%d%f%f%f%f,&di,&ei,&fi,&gi,&hi,&ji); ai=(di+fi/60+gi/3600); ai=ai*PI/180; bi=(ei+hi/60+ji/3600); bi=bi*PI/180; angi=ai-bi; angle=(ang0+ang1)*1/2; printf(angle=%lfn,angle);2.2.8用函数实现模块化程序设计 例2.8测回法
11、计算水平角,使用函数 编写程序: # include # include # define PI 3.14void main() double spj(double x,double y); int d2,e2,i; float f2,g2,h2,j2; double a2,b2,ang2,angle; for(i=0;i3;i+) scanf(%d%d%f%f%f%f,&di,&ei,&fi,&gi,&hi,&ji); ai=(di+fi/60+gi/3600); ai=ai*PI/180; bi=(ei+hi/60+ji/3600); bi=bi*PI/180; angi=ai-bi; a
12、ngle=spj(ang0,ang1); printf(angle=%lfn,angle);double spj(double x,double y) double z; z=(x+y)*1/2; return(z);2.2.9使用结构体 例2.9计算坐标方位角,使用结构体 编写程序: #include#include#define PI 3.14void main() struct Fwj double a; double c; fwj; double b; scanf(%lf%lf,&fwj.a,&fwj.c); b=fwj.a+fwj.c*PI/180-180; printf(b=%f,
13、b);2.2.10对文件的使用 例2.10计算三角高程,使用文件方法。 编写程序: #include #include void main() FILE*fp; double s,alpha,I,v,hgt; fp=fopen(D:TURBOC2.0tri.dat,r); if(fp=fopen(tri.dat,r)=NULL) printf(error); exit(0); printf(input s,alpha,I and vn); while(fscanf(fp,%lf%lf%lf%lf,&s,&alpha,&I,&v)!=EOF); printf(%lf%lf%lf%lf,s,alp
14、ha,I,v); hgt=s*tan(alpha)+I-v; printf(Tri Height=%lfn,hgt); fclose(fp);3.实习步骤3.1基本程序例3.1编写计算三角高程代码编写程序: #include #include main() double s,alpha,i,v; hgt; s=20.0; alpha=30.0;i=1.0; v=1.5; hgt=s*tan(alpha*3.14/180)+i-v; printf(Tri hgt=%lfn,hgt);3.2程序改进 将例3.1程序改为scanf输入 代码如下: #include #include main() d
15、ouble s,alpha,I,v; double hgt; printf(input s,alpha,I and vn); scanf(%lf%lf%lf%lf,&s,&alpha,&I,&v); hgt=s*tan(alpha)+I-v; printf(Tri Height=%lfn,hgt);3.3程序完善 将例3.1程序改为函数 代码如下:#include #include main() double tri(double a,double b,double c,double d); double s,alpha,I,v; double hgt; printf(input s,alph
16、a,I and vn); scanf(%lf%lf%lf%lf,&s,&alpha,&I,&v); hgt=tri(s,alpha,I,v); printf(Tri Height=%lfn,hgt);double tri(double a,double b,double c,double d) double z; z=a*tan(b)+c-d; return (z);3.4程序扩展 将例3.1改为结构体 代码如下: #include #include main() struct Gc double s; double alpha; double I; double v; gc; double
17、hgt; printf(input s,alpha,I and vn); scanf(%lf%lf%lf%lf,&gc.s,&gc.alpha,&gc.I,&gc.v); hgt=gc.s*tan(gc.alpha)+gc.I-gc.v; printf(Tri Height=%lfn,hgt); 将例3.1改为文件 代码如下: #include #include void main() FILE*fp; double s,alpha,I,v,hgt; fp=fopen(D:TURBOC2.0tri.dat,r); if(fp=fopen(tri.dat,r)=NULL) printf(erro
18、r); exit(0); printf(input s,alpha,I and vn); while(fscanf(fp,%lf%lf%lf%lf,&s,&alpha,&I,&v)!=EOF); printf(%lf%lf%lf%lf,s,alpha,I,v); hgt=s*tan(alpha)+I-v; printf(Tri Height=%lfn,hgt); fclose(fp);4.实习成果4.1初始调试 (1) 三角高程计算(scanf输入)代码: (2)三角高程函数代码 (3)三角高程文件代码 调试结果:(1)三角高程计算(scanf输入) 错误原因: “Double“应改为“dou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测绘 程序设计 语言版
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内