程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 六周 項目3 用多文件組織多個類的程序

六周 項目3 用多文件組織多個類的程序

編輯:C++入門知識

main函數

/*
*程序的版權和版本聲明部分:
*Copyright(c)2014,煙台大學計算機學院學生
*All rights reserved.
*文件名稱:
*作者:趙加響
*完成日期:2014  年 4 月 1 日
*版本號:v1.0
*對任務及求解方法的描述部分:
*輸入描述:三個點坐標
*問題描述:本項目設計一個三角形類,其數據成員不再是三角形三條邊的邊長,而是三角形的三個頂點。
           利用設計的三角形類,輸入三角形的三個頂點,求出其面積、周長,並判斷其是否為直角三角形和等腰三角形。

*/
#include 
#include 
#include "cpoint.h"
#include "ctriangle.h"
using namespace std;int main()
{
    CPoint a,b,c;
    CTriangle C(a,b,c);
    cout<<"輸入頂點坐標:"<


cpoint.cpp函數

#include 
#include 
#include "cpoint.h"
#include "ctriangle.h"
double CPoint::Distance(CPoint p) const
{
    return sqrt(pow(x-p.x,2)+pow(y-p.y,2));
}
void CTriangle::setbian()
{
    a=A.Distance(B);
    b=C.Distance(B);
    c=A.Distance(C);//A點到B點的距離 即c邊的長,,,
}
float CTriangle::perimeter()
{
    return a+b+c;
}
float CTriangle::area()
{
    return 0.25*sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a));
}
bool CTriangle::isRightTriangle()
{
    if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
        return true;
    else
        return false;
}
bool CTriangle::isIsoscelesTriangle()
{
    if(a==b||a==c||b==c)
        return true;
    else
        return false;
}


cpoint.h函數

#ifndef CPOINT_H_INCLUDED
#define CPOINT_H_INCLUDED
#include 
using namespace std;
class CPoint
{
private:
    double x;
    double y;
public:
    CPoint(double xx=0,double yy=0):x(xx),y(yy) {}
    double Distance(CPoint p) const;
    void input()
    {

        cin>>x>>y;
    }
};

#endif // CPOINT_H_INCLUDED


ctriangle.h函數

#ifndef CTRIANGLE_H_INCLUDED
#define CTRIANGLE_H_INCLUDED

class CTriangle
{
public:
    CTriangle(CPoint &X,CPoint &Y,CPoint &Z):A(X),B(Y),C(Z) {} //給出三點的構造函數
    void setTriangle(CPoint &X,CPoint &Y,CPoint &Z)
    {
        A=X;
        B=Y;
        C=Z;
    }
    void setbian();
    float perimeter(void);//計算三角形的周長
    float area(void);//計算並返回三角形的面積
    bool isRightTriangle(); //是否為直角三角形
    bool isIsoscelesTriangle(); //是否為等腰三角形
private:
    CPoint A,B,C; //三頂點
    double a,b,c;//三個邊
};

#endif // CTRIANGLE_H_INCLUDED


感悟:開始時把兩個類的程序放在了一起 老是不對 ,後來發現 應該分開來著

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved