栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ myline类

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ myline类

定义一个Myline类,记录两条线段,第一(二)行输出第一(二)条线段的长度(保留两位小数)并判断线段是否与x或y轴相交(相交输出1,否则为0)

第三行输出两线段是否相交(相交为1,否则为0)

#include
#include 
#include
using namespace std;
class point {
public:
	int x;
	int y;
};
class Myline {
public:
	point e1, e2;
	double length(point e1, point e2);
	bool mixs(point e1, point e2);
	Myline(point, point);
	friend bool equal(Myline, Myline);
};
double Myline::length(point e1, point e2) {
	return sqrt(pow(float(e1.x - e2.x), 2) + pow(float(e1.y - e2.y), 2));
}
bool Myline::mixs(point e1, point e2) {
	return (e1.x * e2.x <= 0 || e1.y * e2.y <= 0);
}
Myline::Myline(point p1, point p2) {
	e1 = p1;
	e2 = p2;
}
bool equal(Myline l1, Myline l2) {
	return((l1.e1.x - l1.e2.x) * (l2.e1.y - l2.e2.y) == (l1.e1.y - l1.e2.y) * (l2.e1.x - l2.e2.x));
}
int main() {
	point p1, p2, p3, p4;
	cin >> p1.x >> p1.y >> p2.x >> p2.y;
	cin >> p3.x >> p3.y >> p4.x >> p4.y;
	Myline L1(p1, p2), L2(p3, p4);
	cout << fixed << setprecision(2) << L1.length(p1, p2);
	cout << " " << L1.mixs(p1, p2);
	cout << endl;
	cout << fixed << setprecision(2) << L2.length(p3, p4);
	cout << " " << L2.mixs(p3, p4);
	cout << endl;
	cout << equal(L1, L2);
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/528884.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号