1. 首頁
  2. 電子技術/半導體/積體電路

利用類實現階梯型電阻電路計算的實驗報告

利用類實現階梯型電阻電路計算的實驗報告

一、實驗題目

利用類實現階梯型電阻電路計算

二、實驗目的

利用類改造試驗三種構造的計算程式,實現類的封裝。透過這種改造理解類實現資料和功能封裝的作用,掌握類的設計與程式設計。

三、實驗原理

程式要求使用者輸入的電勢差和電阻總數,並且驗證資料的有效性:電勢差必須大於0,電阻總數必須大於0小於等於100的偶數。再要求使用者輸入每個電阻的電阻值,並且驗證電阻值的有效性:必須大於零。此功能是由類CLadderNetwork的InputParameter ()函式實現的。

且該函式對輸入的資料進行臨界判斷,若所輸入資料不滿足要求,要重新輸入,直到滿足要求為止。

本實驗構造了兩個類,一個CResistance類,封裝了電阻的屬性和操作,和一個CLadderNetwork類,封裝了階梯型電阻電路的屬性和操作。

使用者輸入的電勢差、電阻總數、電阻值,並賦給CladderNetwork的資料,此功能是由類CLadderNetwork的InputParameter 函式實現的。

輸出使用者輸入的電勢差、電阻總數、電阻值,以便檢查,,此功能是由類CLadderNetwork的PrintEveryPart()函式實現的。

根據使用者輸入的電勢差、電阻總數、電阻值換算出每個電阻上的電壓和電流。此功能是由類CLadderNetwork的Calculate ()函式實現的。

最後輸出每個電阻上的電壓和電流,此功能是由類CLadderNetwork的PrintResult()函式實現的。

此程式很好的體現了面向物件程式設計的技術:

封裝性:類的方法和屬性都整合在了物件當中。

繼承性:可以繼承使用已經封裝好的類,也可以直接引用。

多型性:本實驗未使用到多型性。

安全性:對重要資料不能直接操作,保證資料的'安全性。

以下是各個類的說明:

class CResistance //電阻類

private:

double voltage;

double resistance;

double current;

public:

void InitParameter(); //初始化資料

void SetResist(double r); //設定resistance的值

void SetCur(double cur); //設定current的值

void SetVol(double vol); //設定voltage的值

void CalculateCurrent(); //由電阻的電壓和電阻求電流

double GetResist(){return resistance;} //獲得resistance的值 保證資料的安全性

double GetCur(){return current;} //獲得current的值

double GetVol(){return voltage;} //獲得voltage的值

class CResistance //電阻類{

private:

CResistance resists[MAX_NUM]; //電阻陣列

int num;

double srcPotential;

public:

void InitParameter(); //初始化資料

void InputParameter(); //輸入資料

void Calculate(); //計算

void PrintEveryPart(); //顯示輸入的資料以便檢查

void PrintResult(); //顯示結果

四、實驗結果

程式開始介面:

錯誤輸入 -1(不能小於0)

錯誤輸入0 (不能為0)

輸入正確資料3

輸入錯誤資料-1

輸入錯誤資料0

輸入正確資料4

同樣給電阻輸入資料也必須是正數 現在一次輸入 2,2,1,1

得到正確結果。