您的位置:首页 > 其它

第六周上机任务项目5-一个项目多个文件

2013-04-05 13:42 393 查看
01/*
02.*程序的版权和版本声明部分
03.*Copyright(c)2013,烟台大学计算机学院学生
04.*Allrightsreserved.
05.*文件名称:CPoint.cpp
06.*作者:赵冠哲
07.*完成日期:2013年4月5日
08.*版本号:v1.0
09.*输入描述:
10.*问题描述:
11.*/
#include<iostream>
#include<cmath>
#include"class.h"
usingnamespacestd;
intmain()
{
CPointa(0,0),b(1,1),c(1,0);
CTrianglesj(a,b,c);
a.output(),b.output(),c.output();
cout<<"构成的三角形:"<<endl;
cout<<"周长为:"<<sj.perimeter()<<endl;
cout<<"面积为:"<<sj.area()<<endl;
cout<<(sj.isRightTriangle()?"是":"不是")<<"直角三角形。"<<endl;
cout<<(sj.isIsoscelesTriangle()?"是":"不是")<<"等腰三角形。"<<endl;
CPointa2(0,0),b2(0,),c2(5,0);
CTrianglesj2(a2,b2,c2);
a2.output(),b2.output(),c2.output();
cout<<"构成的三角形:"<<endl;
cout<<"周长为:"<<sj2.perimeter()<<endl;
cout<<"面积为:"<<sj2.area()<<endl;
cout<<(sj2.isRightTriangle()?"是":"不是")<<"直角三角形。"<<endl;
cout<<(sj2.isIsoscelesTriangle()?"是":"不是")<<"等腰三角形。"<<endl;
system("PAUSE");
	return0;
}
//点类
#include<iostream>
#include<cmath>
#include"class.h"

usingnamespacestd;

classCPoint
{private:
floatx;//横坐标
floaty;//纵坐标
public:
CPoint(floatxx=0,floatyy=0);
floatDistance(CPointp)const;//两点之间的距离(一点是当前点,另一点为参数p)
voidinput();//以x,y形式输入坐标点
voidoutput();//以(x,y)形式输出坐标点
};
CPoint::CPoint(floatxx,floatyy)
{
x=xx,y=yy;
}
floatCPoint::Distance(CPointp)const
{
returnsqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y));
}
voidCPoint::input()
{
chara;
do{
cout<<"请输入点的坐标(如(x,y)的形式):";
cin>>x>>a>>y;
}while(a!=',');
}
voidCPoint::output()
{
cout<<"("<<x<<","<<y<<")"<<endl;
}

//三角形类
#include<iostream>
#include<cmath>
#include"class.h"
classCTriangle
{
public:
CTriangle(CPoint&X,CPoint&Y,CPoint&Z):A(X),B(Y),C(Z){}//给出三点的构造函数
voidsetTriangle(CPoint&X,CPoint&Y,CPoint&Z);//
floatperimeter(void);//计算三角形的周长
floatarea(void);//计算并返回三角形的面积
boolisRightTriangle();//是否为直角三角形
boolisIsoscelesTriangle();//是否为等腰三角形
private:
CPointA,B,C;//三顶点
};
voidCTriangle::setTriangle(CPoint&X,CPoint&Y,CPoint&Z)
{
A=X,B=Y,C=Z;
}
floatCTriangle::perimeter(void)
{
return(A.Distance(B)+B.Distance(C)+C.Distance(A));
}
floatCTriangle::area(void)
{
floatAB=A.Distance(B),BC=B.Distance(C),AC=A.Distance(C);
floatp=(AB+BC+AC)/2;
return(sqrt(p*(p-AB)*(p-BC)*(p-AC)));
}
boolCTriangle::isRightTriangle()
{
floatAB=A.Distance(B),BC=B.Distance(C),AC=A.Distance(C);
return((AB*AB+BC*BC==AC*AC)||(AB*AB+AC*AC==BC*BC)||(AC*AC+BC*BC==AB*AB))?true:false;
}
boolCTriangle::isIsoscelesTriangle()
{
floatAB=A.Distance(B),BC=B.Distance(C),AC=A.Distance(C);
return(AB==AC||AB==BC||AC==BC)?true:false;
}




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: