用类表示X-Y平面直角坐标系上的点,编写程序,顺序读入一个四边形的4个顶点坐标,判别由这些顶点的连线构成的图形是否为正方形、矩形或其它四边形。

#include <iostream>
#include <cmath>
using namespace std;
class Point
{public:
    double x,y;

    void setxy()
    {cin>>x>>y;}
    double getx()
    {return x;}
    double gety()
    {return y;}
};
double d(Point d1, Point d2 )
{
  return sqrt(pow(d1.getx()-d2.getx(),2)+pow(d1.gety()-d2.gety(),2));
}

int main()
{
  int i;
 Point p[5];
  for( i=1; i<=4; i++ )
    { cout << "输入第" << i << "个顶点的横坐标和纵坐标: ";
      p[i].setxy();}
   if( fabs( d( p[1],p[2] ) - d( p[3],p[4] ))<=1e-8
        && fabs( d( p[1],p[4] ) - d( p[2],p[3] ))<=1e-8
        && fabs( d( p[1],p[3] ) - d( p[2],p[4] ))<=1e-8)
     if( fabs( d( p[1],p[2] ) - d( p[2],p[3] ))<1e-8 )
         cout << "四个顶点构成的图形为正方形!" << endl;
     else cout << "四个顶点构成的图形为矩形!" << endl;
  else cout << "四个顶点构成的图形为其它四边形!" << endl;

    return 0;
}
运行结果:
输入第1个顶点的横坐标和纵坐标: 0 0
输入第2个顶点的横坐标和纵坐标: 0 1
输入第3个顶点的横坐标和纵坐标: 1 1
输入第4个顶点的横坐标和纵坐标: 1 0
四个顶点构成的图形为正方形!

Process returned 0 (0x0)   execution time : 11.594 s
Press any key to continue.
 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值