第三週項目三 程序的多文件組織

/*
*Copyright (c)2014,煙臺大學計算機與控制工程學院
*All rights reserved.
*文件名稱:test.cpp
*作    者:徐洪祥
*完成日期:2015年3月29日
*版 本 號:v1.0
*
*問題描述:
*程序輸入:
*程序輸出:
*/
//主文件:main.cpp,用於定義main()函數
#include<iostream>
#include "Triangle.h"
using namespace std;
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。h
#ifndef TRIANGLE_H_INCLUDED
#define TRIANGLE_H_INCLUDED
class Triangle
{
public:
    void setA(double);
    void setB(double);
    void setC(double);
    double getA();
    double getB();
    double getC();
    bool isTriangle();//判斷是否構成三角形
    double perimeter(void);//計算三角形的周長
    double area(void);//計算並返回三角形的面積
private:
    double a,b,c; //三邊爲私有成員數據
};

//類定義文件:define.cpp
#endif // TRIANGLE_H_INCLUDED
#include "Triangle.h"
#include <Cmath>
void Triangle::setA(double x)
{
    a=x;
};  //內置函數要定義在頭文件中
void Triangle::setB(double y)
{
    b=y;
};
void Triangle::setC(double z)
{
    c=z;
};

double Triangle::getA()
{
    return a;
}
double Triangle::getB()
{
    return b;
}
double Triangle::getC()
{
    return c;
}
bool Triangle::isTriangle()
{
    return (a+b>c&&a+c>b&&b+c>a);
}

double Triangle::perimeter()
{
    return a+b+c;
}

double Triangle::area()
{
    double p=(a+b+c)/2;
    return sqrt(p*(p-a)*(p-b)*(p-c));
}

發佈了102 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章