- 前言
- 一、项目需求是?
- 二、源代码
- 总结
前言
面向对象面向君,不负代码不负卿
一、项目需求是?
B02. 基于坐标的形状设计
题目描述:以点为基础,组建不同形状。
功能要求:
(1) 创建一个 Point 类,表示平面上的一个点,有两个数据成员,分别表示
点的横、纵坐标
(2) 创建一个 Circle 类,表示平面上的一个圆,包含一个 Point 类的成员,
表示圆心,另外,还有一个数据成员表示半径,Circle 类包含一个判断给定点
是在圆内,圆外,还是圆上的函数成员。
(3) 创建一个 Triangle 类,表示平面上的一个三角形,包含三个 Point 类
的成员,表示三角形的三边,Triangle 类包含一个计算周长的函数成员。
(4) 要注意进行合法性检查,例如,并不是任意三点都可以构成三角形,在
对三角形进行初始化时要考虑指定的点能不能构成三角形。
(5) 思考:如果要求构建一个抽象类,怎么设计?
废话不多说,完整代码如下:
#include#include #include using namespace std; void menu(); void circle(); void triangle(); class Point { int x,y; public: Point(int xx=0,int yy=0) { x=xx; y=yy; } int getX() { return x; } int getY() { return y; } }; class Circle { int radius; Point p1; public: Circle(Point p,int r) { p1=p; radius=r; } void judge(int x,int y); }; void Circle::judge(int x,int y) { cout<<"圆心坐标为("< radius*radius) { cout<<"判断结果为:给定点是在圆外"< cout<<"判断结果为:给定点是在圆内"< cout<<"判断结果为:给定点是在圆上"< Point p1; Point p2; Point p3; public: Triangle(Point pp1,Point pp2,Point pp3) { p1=pp1; p2=pp2; p3=pp3; } void girth(); }; void Triangle::girth() { cout<<"三角形点A坐标为("< cout<<"计算结果:给定三点不能构成三角形"< cout<<"计算结果:三角形的周长为"< menu(); int in; cin>>in; while(in!=0) { switch(in) { case 1: circle(); break; case 2: triangle(); break; default: break; } cout<<"输入任意键将返回主菜单n"; getch(); system("cls"); menu(); cin>>in; } return 0; } void menu() { cout << "********欢迎使用基于坐标的形状设计程序********" << endl; cout << "**********************************************" << endl; cout << "******** 1、判断给定点在圆哪 ********" << endl; cout << "******** 2、计算三角形的周长 ********" << endl; cout << "******** 0、退出程序 ********" << endl; cout << "**********************************************" << endl; cout << "-----> 请选择操作项并输入操作项编号: <-----" << endl; } void circle() { int x,y,r; cout<<"请定义圆心(x,y)和半径r"< >x>>y>>r; Point p1(x,y); //定义圆心 Circle c1(p1,r); //定义圆半径 cout<<"请输入给定点(x,y)"< >x>>y; c1.judge(x,y);//给定点 cout< int x,y; cout<<"请输入点A的坐标(x,y)"< >x>>y; Point pp1(x,y); //定义三角形点A cout<<"请输入点B的坐标(x,y)"< >x>>y; Point pp2(x,y); //定义三角形点B cout<<"请输入点C的坐标(x,y)"< >x>>y; Point pp3(x,y); //定义三角形点C Triangle t(pp1,pp2,pp3); t.girth(); //求给定三角形的周长 }
总结
以上代码复制粘贴即可使用,代码写的很烂,有需要的请自行更改,如果可以的话,请一键三连,谢谢.



