test9-5(用点类做成员的三角形类)
来源:互联网 发布:终结者 知乎 编辑:程序博客网 时间:2024/06/06 10:01
程序:
/** Copyright(c)2013,*All right reserved.*文件名称:test9-5.cpp*作 者:徐驰*完成日期:2013-12-17*版 本 号:v1.0**输入描述:设计一个三角形类,能够输入三角形的三个顶点,求出其面积、周长,并判断其是否为直角三角形和等腰三角形。 (1)这个问题需要用到两个类,顶点类参照任务3中的CPoint类; (2)三角形类参考下面CTriangle类的声明; (3)关于三条边的处理,可以增加三个私有属性,在初始化时求出来备用,也可以在需要时计算得到。*问题描述:略*程序输出:略*问题分析:略*算法分析:略*/#include<iostream> #include<Cmath> using namespace std; class Cpoint { private: double x; double y;public: Cpoint(double xx=0,double yy=0):x(xx),y(yy){}; double Distance(Cpoint p)const;void input();};double Cpoint::Distance(Cpoint p)const{ return sqrt((x-p.x)*(x-p.x)+(y-p.y)*(y-p.y));}void Cpoint::input(){ char a,b,c; do{cout<<"enter a point please(x,y):";cin>>a>>x>>b>>y>>c;if(a!='('||b!=','||c!=')')cout<<"the style is error,please try again."<<endl;}while(a!='('||b!=','||c!=')');}class Triangle{private:Cpoint A,B,C;public:Triangle(Cpoint A,Cpoint B,Cpoint C):A(A),B(B),C(C){};void area();void perimeter();void judge();};void Triangle::area(){double a,b,c;a=B.Distance(C);b=A.Distance(C);c=A.Distance(B);cout<<0.25*sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a))<<endl;}void Triangle::perimeter(){double a,b,c;a=B.Distance(C);b=A.Distance(C);c=A.Distance(B);cout<<a+b+c<<endl;}void Triangle::judge(){double a,b,c;a=B.Distance(C);b=A.Distance(C);c=A.Distance(B);if(a==b&&a==c)cout<<"it is an equilateral triangle."<<endl;else if((a==b||a==c||b==c))cout<<"it is an isosceles triangle."<<endl;elsecout<<"it is an ordinary triangular."<<endl;}void main(){Cpoint A,B,C;cout<<"please enter A point."<<endl;A.input();cout<<"please enter B point."<<endl;B.input();cout<<"please enter C point."<<endl;Triangle tri(A,B,C);C.input();tri.area();tri.perimeter();tri.judge();}
结果:
求助:
请问大神们为什么在点输入格式不正确是出现这种情况???
0 0
- test9-5(用点类做成员的三角形类)
- 用点类做成员的三角形类
- 第六周项目四----用点类做成员的三角形类以及多文件组织的三角形类
- C++第6周项目4 - 用点类做成员的三角形类
- test9-1(类三角形)
- 自定义类做成员变量
- test9-2(分数类)
- 第6周-任务4-用点类作成员的三角形类
- test9.5
- C++中含参构造函数的类对象做成员变量的方法
- test9-3(学生信息类)
- test9-4(平面坐标点类)
- test9
- test9
- 类的三大成员
- 测试员与开发员的区别(转)
- Java类的第5大成员_内部类
- SimpleDateFormat做成员或者静态成员多线程安全隐患
- Oracle 11g常用管理命令(用户、表空间、权限)
- JavaScript跨域总结与解决办法
- tq2440 按键中断 去抖 改进版 驱动
- 单例模式的两种方式
- 去除vim ^M符号
- test9-5(用点类做成员的三角形类)
- centos 搭建svn服务器
- 信号量sem_t
- java中接口和抽象类的区别
- Django中的Python高级特性
- jquery cookie和js文件中使用encodeURI()方法
- Hive函数大全
- ArcGIS Engine 10.2 如何发布服务
- __attribute__机制介绍