⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit2.cpp

📁 两点间距离和坐标方位角计算程序。可计算两点间距离和两点方向的方位角。
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
//#include "Unit1.cpp"
#include "Unit1.h"
#include "math.h"
#include "stdio.h"
#define PI 3.1415926535
HDHD(double *d)
{
 double d1,d2,i1,i2;
 *d=*d*180.0/PI;
 i1=floor(*d);
 d1=(*d-i1)*60;
 i2=floor(d1);
 d2=(d1-i2)*60;
 *d=i1+i2/100.0+d2/10000.0;
 return *d;
 }
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm2::Button1Click(TObject *Sender)
{
//Form1->Show();
}
//---------------------------------------------------------------------------

void __fastcall TForm2::Button5Click(TObject *Sender)
{
Close();        
}
//---------------------------------------------------------------------------

void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)
{
Form1->Close();
}
//---------------------------------------------------------------------------

void __fastcall TForm2::Button4Click(TObject *Sender)
{
try{
char X1string[30],Y1string[30],X2string[30],Y2string[30],FWJ[30],JL[30];
double X1,Y1,X2,Y2,A,S;
       StrCopy(X1string,Edit1->Text.c_str());
       StrCopy(Y1string,Edit2->Text.c_str());
       StrCopy(X2string,Edit3->Text.c_str());
       StrCopy(Y2string,Edit4->Text.c_str());

       X1=atof(X1string);
       Y1=atof(Y1string);
       X2=atof(X2string);
       Y2=atof(Y2string);

       S=sqrt((Y2-Y1)*(Y2-Y1)+ (X2-X1)*(X2-X1));
       A=atan((Y2-Y1)/(X2-X1));
       A=fabs(A);
       if((Y2-Y1)>=0&&(X2-X1)<0)A=A+0;
       if((Y2-Y1)>=0&&(X2-X1)<0)A=180*PI/180-A;
       if((Y2-Y1)<=0&&(X2-X1)>0)A=360*PI/180-A;
       if((Y2-Y1)<=0&&(X2-X1)<0)A=A+180*PI/180;
    HDHD(&A);


      gcvt(A,10,FWJ);
      gcvt(S,10,JL);
      Edit5->Text=FWJ;
      Edit6->Text=JL;
      }
 catch(...)
 {
 Application->MessageBox("错误。","提示",MB_OK);
 Close();
 }         

}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -