/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称: *作者:刘中林 *完成日期:2013年 3月 20 日 *版本号:v1.0 *对任务及求解方法的描述部分: *输入描述: 无 *问题描述:计算三角形面积和周长 *程序输出:三角形面积和周长 *问题分析: *算法设计: */ main.cpp: #include<iostream> #include<Cmath> #include"zzz.h" using namespace std; int main() { Triangle tri1; //定义三角形类的一个实例(对象) tri1.setABC(4,5,6); //为三边置初值 double x,y,z; tri1.getABC (&x,&y,&z); //将三边的值为x,y,z赋值 cout<<"三条边为:"<<x<<'\t'<<y<<'\t'<<z<<endl; cout<<"三角形的周长为:"<< tri1.perimeter()<<'\t'<<"面积为:"<< tri1.area()<<endl; return 0; }
*triangle.h: #ifndef ZZZ_H_INCLUDED #define ZZZ_H_INCLUDED class Triangle { public: void setABC(double x, double y, double z);//置三边的值,注意要能成三角形 void getABC(double *x, double *y, double *z);//取三边的值 double perimeter(void);//计算三角形的周长 double area(void);//计算并返回三角形的面积 private: double a,b,c; //三边为私有成员数据 }; #endif // ZZZ_H_INCLUDED
triangle.cpp: #include<iostream> #include"zzz.h" #include<Cmath> using namespace std; void Triangle::setABC(double x,double y,double z) { if((x+y)>z&&(x+z)>y&&(z+y)>x) { a=x; b=y; c=z; }else { cout<<"三角形不存在."<<endl; } } void Triangle::getABC(double *x,double *y,double *z) { *x=a; *y=b; *z=c; } double Triangle::perimeter(void) { double m; m=a+b+c; return m; } double Triangle::area(void) { double n,s; n=(a+b+c)/2; s=sqrt(n*(n-a)*(n-b)*(n-c)); return s; }
*样例输出:
*心得体会:博大精深。。