C++ 创建一个SavingAccount类

问题描述:


  • 创建一个SavingAccount类。使用一个static数据成员annualnterestRate保存每个存款者目前存款金额。
  • 该类提供成员函数calculateMonthlyInterest,它将余额乘以annualInterestRate再除以12来计算月利息,这个利息应该加到savingsBalance中。
  • 该类还提供一个static成员函数modifylnterestRate,它将static的annualInterestRate设置为一个值。
  • 编写一个驱动程序测试SavingsAccount类。
  • 实例化SavingsAccount类的两个对象saverl和saver2,余额分别是$2000.00和$3000.00。
  • 将annualInterestRate设置为3%,然后计算月利率并打印每个存款者的新余额。
  • 接着再将annualInterestRate设置为4%,计算下一个月的利息并打印每个存款者的新余额。

下面我们将根据问题描述来编写程序

1.首先我们创建一个static数据成员annualnterestRate保存每个存款者目前存款金额。

static float annualInterestRate;//保存每个存款者的年利率 

注意:static数据成员是在类内声明,类外定义的,而缺乏类外的初始化,编译器则会报错。

2.利用构造函数对数据成员进行初始化。

SavingAccount(float savingBalance_,float annualInterestRate_)
{
	savingBalance=savingBalance_;
	annualInterestRate=annualInterestRate_;
}

3. 然后我们提供成员函数calculateMonthlyInterest,它将余额乘以annualInterestRate再除以12来计算月利息,而且应该把这个利息加到savingsBalance中。

float calculateMonthyInterest()//计算月利息 
{
	float monthyInterest;
	monthyInterest = savingBalance*annualInterestRate;
	savingBalance += monthyInterest/12;
	return monthyInterest;
} 

4.我们还要提供一个static成员函数modifylnterestRate,它将static的annualInterestRate设置为一个值。

static void modifyInterestRate(float newAnnualInterestRate)//将annualInterestRate设置为一个新值 
{
	annualInterestRate = newAnnualInterestRate;
}

 5.最后编写一个驱动程序以测试类的功能。

int main()
{
	SavingAccount saver1(2000,0.03);
	float saver1_=saver1.calculateMonthyInterest() ;
	float saver2_=saver1.calculateMonthyInterest() ;
	cout << "saver1 的新余额为 :" << saver1_ << endl; 
	cout << "saver2 的新余额为 :" << saver2_ << endl; 
	
	SavingAccount saver2(3000,0.04);
	float saver1__=saver1.calculateMonthyInterest() ;
	float saver2__=saver1.calculateMonthyInterest() ;
	cout <<"下个月的利息为 :" << saver1__ - saver1_ << " "<<"saver1 的新余额为 :" << saver1__ << endl; 
	cout <<"下个月的利息为 :" << saver2__ - saver2_ << " "<<"saver2 的新余额为 :" << saver2__ << endl;
	return 0;
}

完整的代码如下:

//创建一个SavingAccount类
#include<iostream>
using namespace std;
class SavingAccount 
{
public:
	SavingAccount(float savingBalance_,float annualInterestRate_)
	{
		savingBalance=savingBalance_;
		annualInterestRate=annualInterestRate_;
	}
	float calculateMonthyInterest()//计算月利息 
	{
		float monthyInterest;
		monthyInterest = savingBalance*annualInterestRate;
		savingBalance += monthyInterest/12;
		return monthyInterest;
	} 
	static void modifyInterestRate(float newAnnualInterestRate)//将annualInterestRate设置为一个新值 
	{
		annualInterestRate = newAnnualInterestRate;
	}
	
private:
	float savingBalance;//用于指示目前的存款余额 
	static float annualInterestRate;//保存每个存款者的年利率 
};

float SavingAccount::annualInterestRate;//static数据成员必须在文件作用域(在类定义体以外)进行定义 

int main()
{
	SavingAccount saver1(2000,0.03);
	float saver1_=saver1.calculateMonthyInterest() ;
	float saver2_=saver1.calculateMonthyInterest() ;
	cout << "saver1 的新余额为 :" << saver1_ << endl; 
	cout << "saver2 的新余额为 :" << saver2_ << endl; 
	
	SavingAccount saver2(3000,0.04);
	float saver1__=saver1.calculateMonthyInterest() ;
	float saver2__=saver1.calculateMonthyInterest() ;
	cout <<"下个月的利息为 :" << saver1__ - saver1_ << " "<<"saver1 的新余额为 :" << saver1__ << endl; 
	cout <<"下个月的利息为 :" << saver2__ - saver2_ << " "<<"saver2 的新余额为 :" << saver2__ << endl;
	return 0;
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值