1. 程式人生 > >專案2:三角形類(2)

專案2:三角形類(2)

/*
* 程式的版權和版本宣告部分
* Copyright (c)2012, 煙臺大學計算機學院學生
* All rightsreserved.
* 檔名稱: object.cpp
* 作者:李巧麗
* 完成日期: 2013 年3 月22日
* 版本號: v1.0
* 輸入描述:無
* 問題描述:設計求三角形周長和麵積的類。
* 程式輸出:三角形的周長和麵積
*/
#include<iostream>
#include<Cmath>
using namespace std;
class Triangle
{
public:
inline  void setA(double x)//置三邊的值,注意要能成三角形   
    { a=x;}  
inline  void setB( double y)  
	{b=y;}  
inline  void setC( double z)  
	{ c=z;}  
inline  double getA()//取三邊的值   
    {  
    return a;  
    }  
inline  double getB()  
    {  
        return b;  
    }  
inline  double getC()  
    {     
        return c;  
    }  
double perimeter(void);//計算三角形的周長
double area(void);//計算並返回三角形的面積
bool isTriangle();//判斷是否為三角形
private:
double a,b,c; //三邊為私有成員資料
};

double Triangle::perimeter(void)
{
	return a+b+c;
}
double Triangle::area(void)
{
	double i=(a+b+c)/2;
	return sqrt(i*(i-a)*(i-b)*(i-c));
}
bool Triangle::isTriangle(void)
{
	if((a+b)>c&&(a-b)<c)
		return true;
	else 
		return false;
}
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;
system("pause");
return 0;
}


執行結果:

心得體會:inline  void setA(double x)//置三邊的值,注意要能成三角形  
    { a=x;} 
inline  void setB( double y) 
 {b=y;} 
inline  void setC( double z) 
 { c=z;} 
inline  double getA()//取三邊的值  
    { 
    return a; 
    } 
inline  double getB() 
    { 
        return b; 
    } 
inline  double getC() 
    {    
        return c; 
    } 

在類內定義是這樣子啊!!!

相關推薦

專案2三角形2

/* * 程式的版權和版本宣告部分 * Copyright (c)2012, 煙臺大學計算機學院學生 * All rightsreserved. * 檔名稱: object.cpp * 作者:李巧麗 * 完成日期: 2013 年3 月22日 * 版本號: v1.0 * 輸入

4_2三角形2

/* * 程式的版權和版本宣告部分 * Copyright (c)2012, 煙臺大學計算機學院學生 * All rightsreserved. * 檔名稱: object.cpp * 作者:紀子龍

第十四周專案Animal修改1

/* * 程式的版權和版本宣告部分 * Copyright (c)2012, 煙臺大學計算機學院學生 * All rightsreserved. * 檔名稱: Animal.cpp * 作 者:李巧麗 * 完成日期:2013 年5月30日 * 版本號: v1.0 * 對任務

Spring MVC+mybatis 專案入門旅遊網 dispatcher與controller與Spring MVC

MVC模式         既然在使用Spring MVC,那麼當然要了解什麼是MVC模式。 MVC全名是Model View Controller,是模型(model)-檢視(view)-控制器(controller)的縮寫,一種軟體設計典範,用一種業務邏輯、資料、介

Spring MVC+mybatis 專案入門旅遊網使用者註冊——控制反轉以及Hibernate Validator資料驗證

註冊原理         其實很簡單,前端頁面顯示一個表單,然後由dispatcher傳遞到controller,controller呼叫資料庫驗證,如果ok,那就寫入資料庫,同時返回註冊成功的檢視,否則可以返回註冊頁,或者是到一個錯誤頁。 依賴注入與控制反轉    

Python技巧Metaclasses和利用Type構建的動態Dynamic Classes

`metaclass`和`type`關鍵字在Python程式碼中較少被使用(也正因如此,它們的作用也沒有很好的被理解)。在這篇文章中,我們將探究`type()`的型別(types)和跟`metaclasses`相關的`type`的用法。 這是我的型別麼?首先來看`ty

.net core 2.0學習筆記Remoting核心庫RealProxy遷移

ride dispatch 包含 void reflect 既然 splay creat (六) 在學習.net core的過程中,我們已經明確被告知,Remoting將不會被支持。官方的解釋是,.net framework 類型包含了太多的Runtime的內容,是

基本數據1. int整數 2. bool布爾值 3. str字符串

基本數據 首字母 img pla abcdefg fin 數據類型 abc 字符 1:基本數據類型   1. int ==> 整數,主要用來進行數學運算。   2. str ==> 字符串,可以保存少量的數據並進行相應的操作。   3. bool ==>

第五週專案3-時間2修改

修改原因:在上一篇博文中第五週專案3-時間類(2)中提交的程式碼存在一些問題:  (1) 老師給出的程式碼中,輸入60或24也算作合法時間,但是在現實生活中並不存在這樣的時間,所以要把程式碼改一下; (2)當輸入的要增加的秒,分,小時數加上原本的時,分,秒數大於60或者24

第五週專案3-時間2

問題及程式碼: /* *Copyright (c) 2016,煙臺大學計算機學院 *All rights reserved. *檔名稱:zwj.cpp *作 者:張偉晶 *完成日期:2

第五週專案三 時間2

問題及程式碼: /* *Copyright(c)2016,煙臺大學計算機與控制工程學院 *All right reserved. *檔名稱:main.cpp *作 者:郝昱猛 *完成日期:2016年4月5日 *版 本 號:v1.0 * *問題描述:在原

第五週 專案3-時間2

/* *Copyright(c)2014,煙臺大學計算機與控制工程學院 *Allrights reserved. *檔名稱:test.cpp *作者:肖雪 *完成日期:2016年4月12日 *版本號:v1.0 * *問題描述: (2)

小白學 Python 爬蟲2前置準備基本庫的安裝

人生苦短,我用 Python 前文傳送門: 小白學 Python 爬蟲(1):開篇 本篇內容較長,各位同學可以先收藏後再看~~ 在開始講爬蟲之前,還是先把環境搞搞好,工欲善其事必先利其器嘛~~~ 本篇文章主要介紹 Python 爬蟲所使用到的請求庫和解析庫,請求庫用來請求目標內容,解析庫用來解析請

Linux基礎系列常用命令2

用戶和組 查看 -- tdi 作業二 其他 配置文件 解鎖 gid 1 作業一: 2 1) 新建用戶natasha,uid為1000,gid為555,備註信息為“master” 3 groupadd -g 555 natasha 4 useradd -u

.net core 2.0學習筆記遷移.net framework 工程到.net core

編譯 its evel hashtable ref 學習筆記 inline null 創建 在遷移.net core的過程中,第一步就是要把.net framework 工程的目標框架改為.net core2.0,但是官網卻沒有提供轉換工具,需要我們自己動手完成了

javaSE---常用2

static start cef cnblogs font ase pan als utf 2.2 字符串處理(2) 1 public class Panduan { 2 3 public static void main(String[] args

GCC編譯器原理------編譯原理三編譯過程2-2---編譯之語法分析

tails 需要 表達式 一個數 就是 out 和數 margin 操作符 2.2 語法分析 語法分析器(Grammar Parser)將對由掃描器產生的記號進行語法分析,從而產生語法樹(Syntax Tree)。整個分析過程采用了上下文無關語法(Context-free

[python]My Unique JsonDiff演算法——如何計算2個json串之間的差距並Diff出來編輯距離Levenshtein演算法

    啊啊,年底忙著簽證什麼的,好久沒寫日誌啦。。。。新年到來,整點乾貨出來給大家~~順便為自己考試和申請學校攢點人品~~     之前實習的時候,因為實習公司的業務需求,需要一個比對json字串差異的演算法,然而我在網上查了很久的資料,發現竟然沒有現成

Python 2.7 (完結)

5 繼承 繼承語法 # 定義類 class C: pass # 繼承類 class CC(C): pass # 繼承模組類 class CCC(inheritance.MC): pass 在解析屬性引用時,如果請求屬性沒有在類中被找到,將會

2

類的種類  區域性物件:棧區  class Cperson {   public:string name;  private:int age;