Problem D: 平面上的点和线——Point类、Line类 (IV)
Description
Input
输入的第一行为N,表示后面有N行测试样例。
每行为两组坐标“x,y”,分别表示线段起点和终点的x坐标和y坐标,两组坐标间用一个空格分开,x和y的值都在double数据范围内。
Output
Sample Input
Sample Output
HINT
Append Code
int
main()
{
char
c;
int
num, i;
double
x1, x2, y1, y2;
Point p(1, -2), q(2, -1), t;
t.show();
std::cin>>num;
Line line[num];
for
(i = 0; i < num; i++)
{
std::cout<<
"=========================\n"
;
std::cin>>x1>>c>>y1>>x2>>c>>y2;
line[i].SetLine(x1, y1, x2, y2);
line[i].show();
}
std::cout<<
"=========================\n"
;
Line l1(p, q), l2(p, t), l3(q, t), l4(t, q);
l1.show();
l2.show();
l3.show();
l4.show();
}
#include <iostream>
using
namespace
std;
class
Point
{
double
x,y;
friend
class
Line;
public
:
Point(
double
xx=0,
double
yy=0):x(xx),y(yy)
{
cout<<
"Point : ("
<<x<<
", "
<<y<<
") is created."
<<endl;
}
~Point()
{
cout<<
"Point : ("
<<x<<
", "
<<y<<
") is erased."
<<endl;
}
void
show()
{
cout<<
"Point : ("
<<x<<
", "
<<y<<
")"
<<endl;
}
Point(
const
Point & pl )
{
x=pl.x;
y=pl.y;
cout<<
"Point : ("
<<x<<
", "
<<y<<
") is copied."
<<endl;
}
};
class
Line
{
Point p1,p2;
friend
class
Point;
public
:
Line(
double
x1=0,
double
x2=0,
double
x3=0,
double
x4=0):p1(x1,x2),p2(x3,x4)
{
cout<<
"Line : ("
<<x1<<
", "
<<x2<<
") to ("
<<x3<<
", "
<<x4<<
") is created."
<<endl;
}
Line(Point &p,Point &q):p1(p),p2(q)
{
cout<<
"Line : ("
<<p1.x<<
", "
<<p1.y<<
") to ("
<<p2.x<<
", "
<<p2.y<<
") is created."
<<endl;
}
~Line()
{
cout<<
"Line : ("
<<p1.x<<
", "
<<p1.y<<
") to ("
<<p2.x<<
", "
<<p2.y<<
") is erased."
<<endl;
}
void
show()
{
cout<<
"Line : ("
<<p1.x<<
", "
<<p1.y<<
") to ("
<<p2.x<<
", "
<<p2.y<<
")"
<<endl;
}
void
SetLine(
double
a,
double
b,
double
c,
double
d)
{
p1.x=a;
p1.y=b;
p2.x=c;
p2.y=d;
}
};
int
main()
{
char
c;
int
num, i;
double
x1, x2, y1, y2;
Point p(1, -2), q(2, -1), t;
t.show();
std::cin>>num;
Line line[num];
for
(i = 0; i < num; i++)
{
std::cout<<
"=========================\n"
;
std::cin>>x1>>c>>y1>>x2>>c>>y2;
line[i].SetLine(x1, y1, x2, y2);
line[i].show();
}
std::cout<<
"=========================\n"
;
Line l1(p, q), l2(p, t), l3(q, t), l4(t, q);
l1.show();
l2.show();
l3.show();
l4.show();
}
Problem D: 平面上的点和线——Point类、Line类 (IV)的更多相关文章
- Problem E: 平面上的点和线——Point类、Line类 (V)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem C: 平面上的点和线——Point类、Line类 (III)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem B: 平面上的点和线——Point类、Line类 (II)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem A: 平面上的点和线——Point类、Line类 (I)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem F: 平面上的点——Point类 (VI)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem E: 平面上的点——Point类 (V)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem D: 平面上的点——Point类 (IV)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem C: 平面上的点——Point类 (III)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem B: 平面上的点——Point类 (II)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
随机推荐
- xls到xml
protected void btn_ok_Click(object sender, EventArgs e) { string x = txtpath.Text; ...
- DB9针和DB25针串口的引脚定义
<设备监控技术详解>第3章串口设备监控,本章着力介绍串口交换机和串口联网方式.本节为大家介绍标准25针串口的引脚定义. 作者:李瑞民来源:机械工业出版社 3.3 串口线的制作和转换 串口的 ...
- 手撸代码实现equals方法
重点都在注释里面写了,这里就不再重复叙述,贴上代码到博客主要是备用. package equals; class Book extends Object { private String title; ...
- yii2部署nginx
页面全部提示404,nginx平台下需要额外配置yii rewrite规则,配置如下: 在nginx 的配置文件nginx.conf //增加部分 location / { # Redirect ev ...
- HIT2019春软件构造->重写hashCode()方法
不需要重写equals方法: 1. 一个类的每一个实例本质上都是唯一的. 2. 不关心一个类是否提供了“逻辑相等”的测试功能 3. 超类已经改写了equals方法,并且从超类继 ...
- QT:QHash的使用
QHash<QPointF, QVector<float>> data; 此时会报错说没有声明QPointF的Key类型 需要我们手动实现一个函数 static uint qH ...
- windows异步通知I/O模型
回声服务器端: #include <stdio.h> #include <stdlib.h> #include <WinSock2.h> #define BUF_S ...
- leetcode 链表相关
1.给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们 ...
- linux下用户操作
在linux中添加ftp用,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test. 2.建用户:在root用户下: useradd ...
- 保存cookie状态封装
from urllib import request, parsefrom urllib.error import HTTPError,URLError#保存cookiefrom http impor ...