[cpp] /* * 程序的版權和版本聲明部分 * Copyright (c)2013, 煙台大學計算機學院學生 * All rightsreserved. * 文件名稱:score.cpp * 作 者:張浩 * 完成日期:2013年3月22日 * 版本號: v1.0 * 輸入描述: * 問題描述:設計求三角形面積和周長的類 * 程序輸出:三角形的面積和周長 */ #include<iostream> #include<Cmath> using namespace std; class Triangle { private: double a,b,c;//三邊為私有成員數據 public: void getABC(double *x,double *y,double *z);//取三邊的值 double perimeter(void);//計算三角形的周長 double area(void);//計算並返回三角形的面積 }; void Triangle::getABC(double *x,double *y,double *z) { a=*x;b=*y;c=*z; } double Triangle::perimeter() { double m; m=a+b+c; return m; } double Triangle::area(void) { double s,p; p=(a+b+c)*0.5; s=sqrt(p*(p-a)*(p-b)*(p-c)); return s; } int main() { Triangle tri1; double x=0,y=0,z=0; cout<<"請由小到大輸入三角形的三條邊長:"<<endl; cin>>x>>y>>z; while((x>y||x>z||y>z)&&(z<(x+y)&&y>(z-x)&&x>(z-y))) { cout<<"你輸入的不符合規定或不構成三角形!重新輸入吧......"<<endl; cin>>x>>y>>z; } tri1.getABC(&x,&y,&z); cout<<"三條邊為:"<<x<<'\t'<<y<<'\t'<<z<<endl; cout<<"三角形的周長為:"<<tri1.perimeter()<<'\n'<<"三角形的面積為:"<<tri1.area()<<endl; return 0; } 運行結果: