第3周專案3-三角形類(程式的多檔案組織)
*
* Copyright (c) 2015, 煙臺大學計算機學院
* All rights reserved.
* 檔名稱:test.cpp
* 作 者:劉暢
* 完成日期:2015年 3 月 21 日
* 版 本 號:v1.0
*
* 問題描述: 利用多檔案組織,重新實現專案2。其中,整個專案包括3個檔案:
主檔案:
main.cpp,用於定義main()函式
標頭檔案:
triangle.h,標頭檔案,宣告類,定義內建成員函式
類定義檔案:
triangle.cpp,用於定義類Triangle中其他成員函式
注意,將3個set函式和3個get函式設計成內建成員函式,其他函式不作為內建函式。
* 輸入描述: 輸入三角形三邊;
* 程式輸出: 輸出三角形周長、面積或者無法構成三角形。
主檔案:main.cpp如下:
#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 x)
{
a=x;
};
void setB(double y)
{
b=y;
};
void setC(double z)
{
c=z;
};
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; //三邊為私有成員資料
};
#endif // TRIANGLE_H_INCLUDED
類定義檔案:triangle.cpp如下:
#include "Triangle.h"
#include <Cmath>
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));
}
多檔案組織示意圖:
執行結果:
相關文章
- 第3周專案4-考了語文數學的學生(多檔案形式組織程式)
- 第2周專案3-時間類(1)
- 第2周專案3-時間類(2)
- 前端專案檔案組織與元件命名前端元件
- 第13周-閱讀專案3-對文字檔案的訪問
- 如何組織構建多檔案 C 語言程式(二)
- 如何組織構建多檔案 C 語言程式(一)
- objective-C 的程式碼檔案組織Object
- 第4周專案3-用物件陣列操作長方柱類物件陣列
- 第3周專案1-三角形類1
- 第3周專案2-三角形類2
- 專案型組織的流程之舞
- Python:讀寫檔案(I/O) | 組織檔案Python
- Objective-C檔案組織介紹(附程式碼)Object
- 專案組織規劃的原則(轉)
- LlamaFS自組織檔案管理器
- PRINCE2專案管理初探之五:專案組織(Organisation)專案管理
- 【原創】組織專案管理討論專案管理
- 專案管理與組織結構(轉)專案管理
- Vue原始碼探究-原始碼檔案組織Vue原始碼
- 跨平臺專案組織——Codeblocks & VCBloC
- 專案管理過程之組織和角色 (轉)專案管理
- 專案組織——比較而後提高(轉)
- 專案管理過程之組織和角色(轉)專案管理
- 幽默:讓程式碼檔案有組織地分層,然後...
- APT組織檔案館|2021年度APT組織活動態勢分析APT
- 這個開源組織裡的專案都是精品
- 組織級專案管理例項分享——來自專案管理群的討論專案管理
- 如何進行專案管理?企業專案管理常見的組織形式有哪些?專案管理
- 資訊系統專案管理系列之二:專案生命期和組織專案管理
- 天士力股份專案化管理高效的組織藝術(轉)
- 分析:大型ERP專案實施的組織方法(轉)
- 什麼組織適合推行正式的專案管理(轉)專案管理
- LINUX 的EXT2檔案系統的組織方式Linux
- 工程師計劃3 -> 專案管理2 | 專案組織與團隊管理工程師專案管理
- Unity3D專案Plugins目錄組織Unity3DPlugin
- makefile 簡明教程 —— 助你更好理解 C 專案組織
- 案例討論:傳統專案組織為何低效?