第三週上機實踐專案2-三角形類2
阿新 • • 發佈:2019-02-02
/* *Copyright(c)2014,煙臺大學計算機學院 *All rights reserved. *檔名稱:test.cpp *作者:滿星辰 *完成日期:2015年 3月 25日 *版本號:v1.0 *問題描述:程式功能同項目1,main()函式如下,請重新定義Triangle類,其中邏輯特別簡單的set和get成員函式,要處理為內建成員函式,直接在類內定義。 *輸入描述: *程式輸出: */ int main() { Triangle tri1; //定義三角形類的一個例項(物件) double x,y,z; cout<<"請輸入三角形的三邊:"; cin>>x>>y>>z; tri1.setA(x); tri1.setB(y); tri1.setC(z); //為三邊置初值 if(tri1.isTriangle()) { cout<<"三條邊為:"<<tri1.getA()<<','<<tri1.getB()<<','<<tri1.getC()<<endl; cout<<"三角形的周長為:"<< tri1.perimeter()<<'\t'<<"面積為:"<< tri1.area()<<endl; } else cout<<"不能構成三角形"<<endl; return 0; }
專案如下:
#include<iostream> #include<Cmath> using namespace std; class Triangle { public: void setA(double x) { a=x; } void setB(double x) { b=x; } void setC(double x)//置三邊的值,注意要能成三角形 { c=x; } double getA()//取三邊的值 { return a; } double getB() { return b; } double getC() { return c; } bool isTriangle();//判斷是否成三角形 double perimeter(void);//計算三角形的周長 double area(void);//計算並返回三角形的面積 private: double a,b,c; //三邊為私有成員資料 }; int main() { Triangle tri1; //定義三角形類的一個例項(物件) double x,y,z; cout<<"請輸入三角形的三邊:"; cin>>x>>y>>z; tri1.setA(x); tri1.setB(y); tri1.setC(z); //為三邊置初值 if(tri1.isTriangle()) { cout<<"三條邊為:"<<tri1.getA()<<','<<tri1.getB()<<','<<tri1.getC()<<endl; cout<<"三角形的周長為:"<< tri1.perimeter()<<'\t'<<"面積為:"<< tri1.area()<<endl; } else cout<<"不能構成三角形"<<endl; return 0; } //請在下面定義Triangle類中的各個成員函式 bool Triangle::isTriangle() { if(a+b>c&&b+c>a&&a+c>b) return true; else return false; } double Triangle::perimeter(void) { return a+b+c; } double Triangle::area(void) { double p=(a+b+c)/2; return sqrt(p*(p-a)*(p-b)*(p-c)); }
心得:
覺得比專案一做的快一些。。。我以為在類內定義是指要內建函式呢,原來真的是在類“內”定義啊。。。。。。
圖片: