問題及**:
/*
* 檔名稱:test.cpp
* 作 者:郝俊宇
* 完成日期:2023年 4 月8 日
* 版 本 號:v1.0
* * 問題描述:回想engineer類的資料成員,有眼鏡、揹包等。某engineer的眼鏡、揹包,是glass、bag類的物件。類中的資料成員,其型別可以是簡單型別,也可以是類。通過這種方式,將某些類組合到另外的類中,當作其中的乙個「部件」使用。
本專案設計乙個三角形類,其資料成員不再是三角形三條邊的邊長,而是三角形的三個頂點。利用設計的三角形類,輸入三角形的三個頂點,求出其面積、周長,並判斷其是否為直角三角形和等腰三角形。
* 輸入描述:無
* 程式輸出:對應的結果
*/ #include #include using namespace std;
class cpoint
;class c********
//給出三點的建構函式
void set********(cpoint &x,cpoint &y,cpoint &z);//
float perimeter(void);//計算三角形的周長
float area(void);//計算並返回三角形的面積
bool isright********(); //是否為直角三角形
bool isisosceles********(); //是否為等腰三角形
private:
cpoint a,b,c; //三頂點
};cpoint::cpoint(double a,double b)
double cpoint::distance1(cpoint p) const
void c********::set********(cpoint &x,cpoint &y,cpoint &z)
float c********::perimeter(void)
{ double m,n,p;
m=a.distance1(b);
n=c.distance1(b);
p=c.distance1(a);
cout<
執行結果:
知識點總結:
物件作為資料成員的應用
學習心得:
這個程式費了好大得勁才寫完,開始想用輸入座標的方式寫,可是寫完之後一執行,結果都為0,找了好長時間的錯誤也沒找出來,後來就用的直接在程式中寫出座標,然後執行結果還是有一部分不對,後來經過同學的幫助,找到了錯誤,我把q=(m+n+p)/2寫成了q=1/2*(m+n+p)導致算面積的時候結果為0,改正之後還是有一條邊的結果不對,後來才發現,應該是輸出n,我寫成了輸出m.
第五周專案二 物件作為資料成員
檔名稱 test.cpp 作 者 劉佳琦 完成日期 2015年 4 月 3 日 版 本 號 v1.0 問題描述 回想engineer類的資料成員,有眼鏡 揹包等。某engineer的眼鏡 揹包,是glass bag類的物件。類中的資料成員,其型別可以是簡單型別,也可以是類。通過這種方式,將某些類組合...
第五周 專案二 物件作為資料成員
問題 include include using namespace std class cpoint class c 給出三點的建構函式 void set cpoint x,cpoint y,cpoint z double perimeter void 計算三角形的周長 double area v...
第五周專案二 物件作為資料成員
參考解答 一 檔名稱 test.cpp 完成日期 2015年 4 月 7 日 版 本 號 v1.0 include include using namespace std class cpoint cpoint cpoint double xx,double yy class c 給出三點的建構函式...