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类的构造方 ...
随机推荐
- Linux下“/”和“~”的区别
在linux中,”/“代表根目录,”~“是代表目录.Linux存储是以挂载的方式,相当于是树状的,源头就是”/“,也就是根目录. 而每个用户都有”家“目录,也就是用户的个人目录,比如root用户的”家 ...
- [评测]低配环境下,PostgresQL和Mysql读写性能简单对比(欢迎大家提出Mysql优化意见)
[评测]低配环境下,PostgresQL和Mysql读写性能简单对比 原文链接:https://www.cnblogs.com/blog5277/p/10658426.html 原文作者:博客园--曲 ...
- Collectors类中的静态工厂方法
工厂方法 返回类型 用于 toList List<T> 把流中的所有数据元素收集到List集合中. stream.collect(toList()); toSet Set<T> ...
- expect免互交 常用编辑文本
expect免互交 yum -y install expect cat ip_pass.txt #这里写上要执行的IP地址和root用户密码 cat ssh2.exp #编写要执行的操作 #!/usr ...
- Postman应用笔记
Postman应用: 项目组织格式 Collections 集合--项目--根路径文件夹 文件夹 集合下只支持1级文件夹 文件夹 Request --请求 url 认证参数,头信息,体信息(Autho ...
- 5种网络IO模型
5种网络IO模型(有图,很清楚) 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到 ...
- vue eventBus使用
类似于iframe之间的possMessage方式传参 1.eventBus.js文件 //用于兄弟组件通信 import Vue from 'vue'; export default new Vue ...
- charles\mitmproxy\appium的安装与使用
一.charles安装与激活1.https://www.charlesproxy.com/documentation/installation/下载dmg包安装后要将应用添加到Mac的应用目录中,一般 ...
- mongodb+express+nodejs(登陆退出)
1.安装expressnpm i -g express(新版本4.X以上要安装express-generator)npm i -g express-generator 2.安装mongodb下载地址h ...
- 【Java】【10】后台处理Emoji表情
问题:存到数据库的emoji表情,取出来后,在前端显示为乱码 环境:SpringBoot + Oracle(MySQL据说是支持表情的) 解决方案: 引入emoji相关的jar包,使用很方便,不过表情 ...