用c++设计一个类Line,用于表示二维坐标体系中的任意一条直线并输出该直线的属性。

#include<iostream>
#include<string>
using namespace std;
class Line
{
private:
	double x1,y1;
	double x2,y2;
	double k,b;
public:
	Line();
	Line(double m_x1,double m_y1,double m_x2,double m_y2):x1(m_x1),y1(m_y1),x2(m_x2),y2(m_y2){}
	~Line(){};
	void equation();   //方程
	void point();    //交点
	void slope();   //斜率
};
Line::Line()
{
	x1=0,y1=0;
	x2=0,y2=0;
	k=0,b=0;
}
void Line::equation()
{
	if(x2==x1)
		cout<<"该直线方程是:x="<<x1<<endl;
	else
	{

		b=y1-x1*k;      //直线方程与y轴的交点
		cout<<"该直线方程是:y="<<k<<"x+"<<b<<endl;
	}
}
void Line::point()
{
	if(x2==x1)
		cout<<"该直线方程只与x轴有的交点:("<<x1<<",0)"<<endl;
	else if(y1==y2)
		cout<<"该直线方程只与y轴有的交点:(0,"<<b<<")"<<endl;
	else
	{
		cout<<"该直线方程与x轴的交点:("<<(-b/k)<<",0)"<<endl;
		cout<<"该直线方程与y轴的交点:(0,"<<b<<")"<<endl;
	}
}
void Line::slope()
{
	if(x2==x1)
		cout<<"该直线的斜率是无穷大"<<endl;
	else
	{
		k=(y2-y1)/(x2-x1);          //求斜率
		cout<<"该直线的斜率是:"<<k<<endl;
	}
}

void main()
{
	double x1,x2,y1,y2;
	cout<<"请输入任意两个坐标:";
	cin>>x1>>y1>>x2>>y2;
	if(x1==y1==x2==y2)
	{
		cout<<"请重新输入任意两个坐标:";
		cin>>x1>>y1>>x2>>y2;
	}
	Line a(x1,y1,x2,y2);   
	a.slope();      //输出直线斜率
	a.equation();   //输出直线方程
	a.point();      //输出直线与x、y轴的交点
}
  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值