c++定义一个简单的银行账户类

用c++来定义一个简单的银行类:

//编程实例:BankAccount类(简单版本)

#include <iostream>
using namespace std;

//定义银行账户的类:
class BankAccount
{
	public:
		void set(int dollars, int cents, double rate);
		//后条件:将余额设为$dollars.cents,将利率设为百分之rate
		
		void set(int dollers, double rate);
		//后条件:将余额设为$dollers,将利率设为百分之rate
		
		void update();
		//后条件:将一年的单利添加到账户余额上
		
		double get_balance();
		//返回当前账户余额
		
		double get_rate();
		//将当前账户利率作为一个百分比返回
		
		void output(ostream& outs);
		//前条件:如果outs是一个文件输出流,那么outs已经连接到一个文件
		//后条件:账户余额和利率写入outs流
	private:
		double balance;
		double interest_rate;
		
		double fraction(double perect);
		//将百分比转换为小数,例如,fraction(50.3)返回0.503 
 };
 
 int main()
 {
 	BankAccount account1, account2;
 	cout << "Start of Test:\n";
 	account1.set(123, 99, 3.0);
	cout << "account1 initial statement:\n";
	account1.output(cout);
	
	account1.set(100, 5.0);
	cout << "account1 with new setup:\n";
	account1.output(cout);
	
	account1.update();
	cout << "account1 after update:\n";
	account1.output(cout);
	
	account2 = account1;
	cout << "account2:\n";
	account2.output(cout);
	return 0; 
 }
 
 void BankAccount::set(int dollars, int cents, double rate)
 {
 	if((dollars < 0) || (cents < 0) || (rate < 0))
 	{
 		cout << "Illegal values for money or interest rate.\n";
 		exit(1);
	 }
	 balance = dollars + 0.01*cents;
	 interest_rate = rate;
  }
  
  void BankAccount::set(int dollars, double rate)  
 {
 	if((dollars < 0) || (rate < 0))
 	{
 		cout << "Illegal values for money or interest rate.\n";
 		exit(1);
	 }
	 
	 balance = dollars;
	 interest_rate = rate;
 }
 
 void BankAccount::update()
 {
 	balance = balance + fraction(interest_rate)*balance; 
 }
  
 double BankAccount::fraction(double percent_value)
 {
 	return(percent_value/100.00);
  } 
  
  double BankAccount::get_balance()
  {
  	return balance;
  }
  
  double BankAccount::get_rate() 
  {
  	return interest_rate;
  }
  
  //使用iostream:
  void BankAccount::output(ostream& outs)
  {
  	outs.setf(ios::fixed);
  	outs.setf(ios::showpoint);
  	outs.precision(2);
  	outs << "Account balance $ " << balance << endl;
  	outs << "Interest rate " << interest_rate << "%" <<endl;
   } 

 

转载于:https://my.oschina.net/u/3557041/blog/1547397

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值