第六周上机任务项目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;
}
相关文章推荐
- 《C++第六周实验报告5-1》---将任务4的解决用一个项目多个文件的方式实现
- 2013第六周上机任务【项目1 程序改错】
- 第六周上机任务项目 2
- 任务五:一个项目多文件组织完成任务四
- 第4周-任务2-一个项目,多个文件
- 第六周上机任务项目6-工资类
- 2013第六周上机任务【项目4 三角形类】
- 第六周上机任务项目1-(1)
- 第4周-任务2-一个项目,多个文件
- 第十一周上机任务——项目3:(1)输入一个正整数,判断其是否为一个素数
- 第十一周上机任务项目5-体验文件操作练习2
- 2013第六周上机任务【项目2 程序填空(1)】
- 第六周上机任务项目2 程序填空
- 第六周上机任务项目4-三角形类
- 2013第六周上机任务【项目1 程序改错】
- 2013第六周上机任务【项目3 点类】
- 第六周上机任务项目4-三角形类(修改版)
- 第六周上机任务项目1-(2)
- 第四周上机--任务四--设计一个工资类(Salary)--完成各个功能--文件中读入数据--学会ASCII文件的操作
- 第十五周上机体验项目——将一个文件读入另一个文件