範文齋

位置:首頁 > 行業範文 > 半導體

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

半導體7.74K

一、實驗題目

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

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

二、實驗目的

利用類改造試驗三種構造的計算程序,實現類的封裝。通過這種改造理解類實現數據和功能封裝的作用,掌握類的設計與編程。

三、實驗原理

程序要求用戶輸入的電勢差和電阻總數,並且驗證數據的有效性:電勢差必須大於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

得到正確結果。