第三周项目3——程序的多文件组织
第三周项目三——程序的多文件组织
主文件main.cpp
#include <iostream> #include "triangle.h" using namespace std; int main() { Triangle t; //定义三角形类的一个实例(对象) double x,y,z; cout<<"请输入三角形的三边:"; cin>>x>>y>>z; t.setA(x); t.setB(y); t.setC(z); //为三边置初值 if(t.isTriangle()) { cout<<"三条边为:"<<t.getA()<<','<<t.getB()<<','<<t.getC()<<endl; cout<<"三角形的周长为:"<<t.perimeter()<<'\t'<<"面积为:"<<t.area()<<endl; } else cout<<"不能构成三角形。"<<endl; return 0; }
头文件triangle.h:
#ifndef TRIANGLE_H_INCLUDED #define TRIANGLE_H_INCLUDED class Triangle { public: void setA(double x) { a=x; } void setB(double y) { b=y; } void setC(double z) { c=z; } double getA(void) { return a; } double getB(void) { return b; } double getC(void) { return c; } bool isTriangle(); //判断是否构成三角形 double perimeter(void); //计算三角形的周长 double area(void); //计算并返回三角形的面积 private: double a,b,c; //三边为私有成员数据 }; #endif // TRIANGLE_H_INCLUDED
类定义文件:
#include "triangle.h" #include <cmath> bool Triangle::isTriangle() { if(a+b>c&&b+c>a&&a+c>b) return 1; else return 0; } double Triangle::perimeter(void) { int sum; sum=a+b+c; return sum; } double Triangle::area(void) { double p,s; p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); return s; }
运行结果: