提供三个点的坐标,求出平行四边形的面积
计算公式错误,请各位帮忙修正:
#include <iostream>
#include <cmath>
using namespace std;
#ifndef ShapeH
#define ShapeH
class Shape
{
public:
virtual double area()const = 0;
virtual void draw()const = 0;
};
class Point
{
//确定一个点的坐标
double x, y;
public:
Point(double x0 = 0.0, double y0 = 0.0):x(x0),y(y0){}
double getX()const{return x;}
double getY()const{return y;}
};
class Parallel:public Shape
{
//定义了三个点
Point P1, P2, P3;
public:
Parallel(double a, double b, double c, double d, double e, double f):P1(a, b),P2(c,d),P3(e,f){}
virtual double area()const
{
//这里的公式有误,请各位帮忙修正
int log = (P3.getY() - P3.getY()) - (P3.getX() - P2.getX());
int hih = P2.getY() - P1.getY();
return log * hih;
}
virtual void draw()const{Shape::draw(); cout << "平行四边形";}
Point getParP1()const{return P1;}
Point getParP2()const{return P2;}
Point getParP3()const{return P3;}
};
void Shape::draw() const{cout << " 这里应输出一个";}
#endif
void showArea(Shape &s) { cout << s.area();}
void drawShape(Shape &s){ s.draw();}
int main()
{
//只提供三个点
Parallel obj4(4, 4, 5, 5, 6, 6);
showArea(obj4);
drawShape(obj4);
cout << endl;
system("pause");
return 0;
}
#include <iostream>
#include <cmath>
using namespace std;
#ifndef ShapeH
#define ShapeH
class Shape
{
public:
virtual double area()const = 0;
virtual void draw()const = 0;
};
class Point
{
//确定一个点的坐标
double x, y;
public:
Point(double x0 = 0.0, double y0 = 0.0):x(x0),y(y0){}
double getX()const{return x;}
double getY()const{return y;}
};
class Parallel:public Shape
{
//定义了三个点
Point P1, P2, P3;
public:
Parallel(double a, double b, double c, double d, double e, double f):P1(a, b),P2(c,d),P3(e,f){}
virtual double area()const
{
//这里的公式有误,请各位帮忙修正
int log = (P3.getY() - P3.getY()) - (P3.getX() - P2.getX());
int hih = P2.getY() - P1.getY();
return log * hih;
}
virtual void draw()const{Shape::draw(); cout << "平行四边形";}
Point getParP1()const{return P1;}
Point getParP2()const{return P2;}
Point getParP3()const{return P3;}
};
void Shape::draw() const{cout << " 这里应输出一个";}
#endif
void showArea(Shape &s) { cout << s.area();}
void drawShape(Shape &s){ s.draw();}
int main()
{
//只提供三个点
Parallel obj4(4, 4, 5, 5, 6, 6);
showArea(obj4);
drawShape(obj4);
cout << endl;
system("pause");
return 0;
}
...全文
相关推荐
三年模拟一年创新2016届高考数学复习第八章第六节空间向量的应用理全国通用
三年模拟一年创新2016届高考数学复习第八章第六节空间向量的应用理全国通用
2021届高三数学新高考“8+4+4”小题狂练(16)(解析).doc
2021届高三数学新高考“8+4+4”小题狂练(16)(解析).doc
2014届高考数学一轮 知识点各个击破 第四章 第二节 平面向量基本定理及坐标表示追踪训练 文(含解析)新人教A版
2014届高考数学一轮 知识点各个击破 第四章 第二节 平面向量基本定理及坐标表示追踪训练 文(含解析)新人教A版
华师大版八年级下册数学期末复习题1精选.doc
华师大版八年级下册数学期末复习题1精选.doc
python 已知平行四边形三个点,求第四个点的案例
我就废话不多说了,大家还是直接看代码吧! import numpy as np #已知平行四边形三个点,求第四个点 #计算两点之间的距离 def CalcEuclideanDistance(point1,point2): vec1 = np.array(point1) vec2 = np.array(point2) distance = np.linalg.norm(vec1 - vec2) return distance #计算第四个点 def CalcFourthPoint(point1,point2,point3): #pint3为A点 D = (point1[0]


