附合导线计算程序设计_第1页
附合导线计算程序设计_第2页
附合导线计算程序设计_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.5 附合导线计算程序设计#include<stdio.h>#define PI 3.1415926#include<math.h>#define LEN sizeof(struct node)#include<stdlib.h>struct zuobiaodouble x;double y;struct angleint degree;int minute;float second;struct nodedouble x;double y;struct angle ang1;struct angle fwj;double s;double dx;doubl

2、e dy;struct node *next;double jtod(struct angle jiao)double degree;degree=jiao.degree;degree+=(jiao.minute/60.0);degree+=(jiao.second/3600.0);return degree;struct angle dtoj(double jiaodu)struct angle fwj;fwj.degree=floor(jiaodu);fwj.minute =floor(jiaodu-floor(jiaodu)*60); fwj.second =(jiaodu-floor(

3、jiaodu)*60-fwj.minute)*60;.return fwj;double jtoh(struct angle jiaodu)double hu;hu=jtod(jiaodu);hu=hu*PI/180;return hu;main()FILE *fp;struct zuobiao zb0,zbN;struct node *head,*p1,*p2;struct angle angle1,f0,fB,fN;int n,i;double t,fBsecond,jiaodu;double fX=0,fY=0,K=0,S=0;fB.degree=0;fB.minute=0;fB.sec

4、ond=0;if(fp=fopen("d:prodata2.txt","r")=NULL)printf("cannot open this filen");fscanf(fp,"%d",&n);fscanf(fp,"%lf%lf",&zb0.x,&zb0.y);fscanf(fp,"%d%d%f",&f0.degree,&f0.minute,&f0.second);fscanf(fp,"%lf%lf",&am

5、p;zbN.x,&zbN.y);fscanf(fp,"%d%d%f",&fN.degree,&fN.minute,&fN.second);fB.degree=f0.degree;fB.minute=f0.minute;fB.second=f0.second;fBsecond=jtod(fB);for(i=0;i<n;i+)fscanf(fp,"%d%d%f",&angle1.degree,&angle1.minute,&angle1.second);fBsecond+=jtod(angle1)

6、;fBsecond-=180;if(fBsecond>360) fBsecond-=360;if(fBsecond<0) fBsecond+=360;fBsecond-=jtod(fN);fBsecond*=3600;printf("%lfn",fBsecond);fBsecond/=-n;rewind(fp);for(i=0;i<11;i+) fscanf(fp,"%lf",&t);.head=p1=p2=(struct node *)malloc(LEN); /fscanf(fp,"%d%d%f",&am

7、p;p1->fwj.degree ,&p1->fwj.minute ,&p1->fwj.second ); for(i=0;i<n;i+)fscanf(fp,"%d%d%f",&p1->ang1.degree ,&p1->ang1.minute ,&p1->ang1.second ); p1->ang1.second +=fBsecond;if(p1->ang1.second >=60)p1->ang1.second -=60;p1->ang1.minute +=

8、1;if(p1->ang1.minute >=60)p1->ang1.minute -=60;p1->ang1.degree +=1;if(p1->ang1.second <0)p1->ang1.second +=60;p1->ang1.minute -=1;if(p1->ang1.minute <0)p1->ang1.minute +=60;p1->ang1.degree -=1;p2->next =p1;p2=p1;p1=(struct node *)malloc(LEN);p2->next=NULL;p1

9、=head;i=0;dofscanf(fp,"%lf",&p1->s);printf("s%d=%.3lf mn",i+1,p1->s);S+=p1->s;i+;p1=p1->next ;while(p1->next!=NULL);p1->s=0;printf("S=%8.3lf mn",S);.p1=head;/p1->dx=p1->s*cos(jtoh(p1->fwj );/p1->dy=p1->s*sin(jtoh(p1->fwj );/p1=p1-

10、>next;jiaodu=jtod(f0);dojiaodu+=jtod(p1->ang1);jiaodu-=180;if(jiaodu>360) jiaodu-=360;if(jiaodu<0) jiaodu+=360;p1->fwj =dtoj(jiaodu);p1->dx=p1->s*cos(jtoh(p1->fwj);p1->dy=p1->s*sin(jtoh(p1->fwj);p1=p1->next ;while(p1->next !=NULL);p1=head;fX=zb0.x;fY=zb0.y;dofX

11、+=p1->dx;fY+=p1->dy;p1=p1->next ;while(p1->next !=NULL);fX-=zbN.x;fY-=zbN.y;K=sqrt(fX*fX+fY*fY);K/=S;K=1/K;p1=head;if(K>4000)do/ p2=p1->next ;p1->dx+=(-fX/S*p1->s);/ p2->x=p1->x+p2->dx;p1->dy+=(-fY/S*p1->s);/ p2->y=p1->y+p1->dy;p1=p1->next ;while(p1

12、->next !=NULL);p1=head;p1->x=zb0.x+p1->dx;p1->y=zb0.y+p1->dy;.dop2=p1->next;p2->x=p1->x+p2->dx;p2->y=p1->y+p2->dy;p1=p1->next ;while(p2->next !=NULL);else printf("the error is out of the limite!"),exit(0);printf("fX=%6.3lfmfY=%6.3lfmfS=%6.3lfm

13、K=1/ %dn",fX,fY ,sqrt(fX*fX+fY*fY),(int)K); p1=head;doprintf("%8.3lf %8.3lfn",p1->x,p1->y); p1=p1->next;while(p1->next !=NULL);fclose(fp);if(fp=fopen("d:procoordinate.dat","w")=NULL)printf("cannot open this file!n");fprintf(fp,"fx=%.3lf mn",fX);fprintf(fp,"fy=%.3lf mn",fY);fprintf(fp,"fs=%.3lf mn",sqrt(fX*fX+fY*fY);fprintf(fp,"K=1 / %dn",(int)K);fprintf(fp,"Th

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论