6週目の実験指導--タスク4--三角形クラスを設計し、三角形の3つの頂点を入力し、その面積、周長を求めることができる.
2088 ワード
//*(プログラムヘッダコメント開始)*プログラムの著作権とバージョン宣言部分*Copyright(c)2011、煙台大学コンピュータ学部学生*All rights reserved.*ファイル名:三角形クラスを設計し、三角形の3つの頂点を入力し、その面積、周長を求め、直角三角形と等腰三角形であるかどうかを判断します.
*作者:雷恒鑫*完成日:2012年03月26日*バージョン番号:V 1.0*タスクおよび解法の説明部*入力説明:*問題説明:*プログラム出力:
*プログラムヘッダのコメント終了
*/
実行結果:
経験の蓄積:
1.オブジェクトの常引用の仕方を学びました.
以下に改良されたプログラムを示します.
実行結果:
*作者:雷恒鑫*完成日:2012年03月26日*バージョン番号:V 1.0*タスクおよび解法の説明部*入力説明:*問題説明:*プログラム出力:
*プログラムヘッダのコメント終了
*/
#include
#include
using namespace std;
class CPoint
{
private:
double x; //
double y; //
public:
CPoint(double xx=0,double yy=0);
float getx();
float gety();
};
class CTriangle
{
public:
CTriangle(CPoint &X,CPoint &Y,CPoint &Z,int i=0):A(X),B(Y),C(Z),i(i){} //
void setTriangle(CPoint &X,CPoint &Y,CPoint &Z);
float perimeter(void);//
float area(void);//
void isRightTriangle(); //
void isIsoscelesTriangle(); //
void Distance(CPoint &p,CPoint &q) ; // ( , p)
float CTriangle::Distance1(CPoint &p,CPoint &q);
private:
CPoint A,B,C; //
float bian[3];
int i;
};
void main()
{
CPoint c1(0,0),c2(0,1),c3(1,0);
CTriangle m(c1,c2,c3);
m.setTriangle(c1,c2,c3);
m.Distance(c1,c2);
m.Distance(c1,c3);
m.Distance(c2,c3);
cout<
実行結果:
経験の蓄積:
1.オブジェクトの常引用の仕方を学びました.
以下に改良されたプログラムを示します.
#include
#include
using namespace std;
class CPoint
{
private:
double x; //
double y; //
public:
CPoint(double xx=0,double yy=0);
double getx();
double gety();
};
class CTriangle
{
public:
CTriangle(CPoint &X,CPoint &Y,CPoint &Z,int i=0):A(X),B(Y),C(Z),i(i){} //
void setTriangle(CPoint &X,CPoint &Y,CPoint &Z);
float perimeter(void);//
float area(void);//
void isRightTriangle(); //
void isIsoscelesTriangle(); //
void Distance(CPoint &p,CPoint &q) ; // ( , p)
float CTriangle::Distance1(CPoint &p,CPoint &q);
private:
CPoint A,B,C; //
float bian[3];
int i;
};
void main()
{
CPoint c1(1,1),c2(4,1),c3(1,5);
cout<
実行結果: