小项目之个人银行账户管理程序(1)

本文介绍了一个使用C++实现的个人银行账户管理程序,包括账户创建、存款、取款及利息结算等功能。通过具体代码示例展示了如何操作储蓄账户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在此做一个小项目,名为个人银行账户管理程序,以此对C++进行进一步理解,望一起学习共同进步

#include<iostream>
#include<cmath>
using namespace std;
class SavingsAccount//储蓄账户类
{
private:
	int id;//账号
	double balance;//余额
	double rate;//存款的年利率
	int lastdate;//上次变更余额的时期
	double accumulation;//余额按日累加之和 
	//记录一笔账,date为日期,amount为金额
	void record(int date,double amount);
	//获得到指定日期为止的存款金额按日累计值
	double accumulate(int date)const
	{
		return accumulation + balance*(date-lastdate);
	}
public:
	//构造函数
	SavingsAccount(int date,int id,double rate);
	int getID(){return id;}
	double getBalance(){return balance;}
	double getRate(){return rate;}
	void deposit(int date,double amount);//存入现金
	void withdraw(int date,double amount);//取出现金
	//结算利息,每年1月1日调用一次
	void setttle(int date);
	//显示账户信息
	void show();
};
///////////////////////////////////////////////
SavingsAccount::SavingsAccount(int date,int id,double rate):id(id),balance(0),rate(rate),lastdate(date),accumulation(0)
{
	cout<<date<<"\t#"<<id<<"is creatde"<<endl;
}
void SavingsAccount::record(int date,double amount)
{
	accumulation=accumulate(date);
	lastdate=date;
	amount=floor(amount*100+0.5)/100;//高斯函数(向下取整数),用来得到不大于一个数的最大整数,声明在头文件cmath中
	balance+=amount;
	cout<<date<<"\t#"<<id<<"\t"<<amount<<"\t"<<balance<<endl;

}
void SavingsAccount::deposit(int date,double amount)
{
	record(date,amount);
}
void SavingsAccount::withdraw(int date,double amount)
{
	if(amount > getBalance())
		cout<<"Error:not enough money"<<endl;
	else
		record(date,-amount);
}
void SavingsAccount::setttle(int date)
{
	double interest=accumulate(date)*rate/365;//计算年息
	if(interest!=0)
		record(date,interest);
	accumulation =0;

}
void SavingsAccount::show()
{
	cout<<"#"<<id<<"\tBalance :"<<balance;

}
int main()
{
	//建立几个账户
	SavingsAccount s0(1,21325302,0.015);
	SavingsAccount s1(1,58320212,0.015);
	//几笔账目
	s0.deposit(5,5000);
	s1.deposit(25,10000);
	s0.deposit(45,5500);
	s1.withdraw(60,4000);
	//开户90天到了银行的计息日,结算所有账户的年息
	s0.setttle(90);
	s1.setttle(90);
	//输出各位账户信息
	s0.show();
	cout<<endl;
	s1.show();
	cout<<endl;
	return 0;

}

运行结果如下:


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值