电路实验报告
随着个人的素质不断提高,报告不再是罕见的东西,报告中提到的所有信息应该是准确无误的。相信许多人会觉得报告很难写吧,下面是小编整理的电路实验报告,供大家参考借鉴,希望可以帮助到有需要的朋友。
一、实验题目
利用类实现阶梯型电阻电路计算
二、实验目的
利用类改造试验三种构造的计算程序,实现类的封装。通过这种改造理解类实现数据和功能封装的作用,掌握类的设计与编程。
三、实验原理
程序要求用户输入的电势差和电阻总数,并且验证数据的有效性:电势差必须大于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
得到正确结果。