C++ 银行账户(拷贝构造)

题目描述
银行账户包括余额、利率、号码、类型等属性,其中号是固定8位整数,类型表示个人还是企业账户,如果是个人用P标识,企业用E标识。

账户又分为活期账户和定期账户,活期利率为0.5%,定期利率为1.5%。

账户操作有计息、查询操作。计息操作是根据利率计算利息,并把利息增加到余额中,并做相关信息输出。
查询操作是输出账户的全部信息。

创建一个活期账户,并通过构造函数初始化各个属性。然后通过拷贝构造来创建一个定期账户,信息与活期账户基本相同,不同之处包括:定期账户号码是活期账户号码加50000000(7个0);利率是定期利率。

要求所有数据成员都是私有属性

用C++语言的类与对象思想来编写程序实现上述要求

输入
输入测试个数t,表示有t个活期账户

先输入一个活期账户的账户号码、账户类型、余额(根据输入创建活期账户和定期账户)

接着输入两个操作符,第一个操作符对活期账户操作,第二个操作符对定期账户进行操作。若输入大写字母C表示计息操作,若输入大写字母P表示查询操作

以此类推输入其他账户的信息和操作

输出
每两行输出一对活期账户和定期账户的操作结果。

样例输入
2
12345678 P 10000 C P
23456789 E 20000 P C
样例输出
Account=12345678–sum=10050
Account=62345678–Person–sum=10000–rate=0.015
Account=23456789–Enterprise–sum=20000–rate=0.005
Account=73456789–sum=20300

#include<iostream>
#include <cstring>
using namespace std;
class Account{
	private:
		float balance; //余额 
		float interestRate;//利率
		int num;
		char type;
	public:
		Account(int n,char t,float b){
			num=n;
			type=t;
			balance=b;
			interestRate=0.005;
		}
		Account(const Account &a){
			num=a.num+50000000;
			type=a.type;
			balance=a.balance;
			interestRate=0.015;
		}
		void rate(){	//计息操作 
			balance=balance*interestRate+balance;
			cout<<"Account="<<num<<"--sum="<<balance<<endl;
		}
		void demand(){	//查询操作 
			cout<<"Account="<<num<<"--";
			if(type=='P')
				cout<<"Person";
			else
				cout<<"Enterprise";
			cout<<"--sum="<<balance<<"--rate="<<interestRate<<endl;
		}
		void operation(char o){	 	//操作判断 
			if(o=='C')
				rate();
			if(o=='P')
				demand();
		} 	 
};
int main(){
	int t,num;
	float b;
	char type,operation1,operation2;
	cin>>t;
	while(t--){
		cin>>num>>type>>b>>operation1>>operation2;
		Account a1(num,type,b);
		Account a2(a1);
		a1.operation(operation1);
		a2.operation(operation2);
	}
}

在这里插入图片描述

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值