【问题描述】根据下列要求编写程序,定义并实现一个银行类(Bank),包含如下数据成员和成员函数:
(1)数据成员:
ID:储户的帐号:long类型,私有权限
Balance:用于存放储户的存款,double类型,私有权限
Rational:表示存款利率,double类型,私有权限,静态数据成员
(2)成员函数:
无参数的构造函数:公有权限
带两个参数的构造函数:公有权限
void setID(long id);//设置账号的函数,公有权限
void setBalance(double d):设置存款的函数,公有权限
double getBalance():获取存款的函数,公有权限
void setRational(double r):设置利率的静态函数,公有权限
double getRational():获取利率的静态函数,公有权限
void display():显示储户信息的函数,公有权限
(3)在main()中先设置年利率如年利率为2.5%,再创建3个帐户,分别设置账户及存款金额,存款额分别为10000元、20000元、50000元,,分别输出每个帐户的本息及三个帐户的本息之和。注:系统缺省账户为10000,存款金额为0。
【输入形式】先输入利率(注:输入2.5表示年利率为2.5%),再输入3个账号及对应的存款金额。
【输出形式】初始账号及自己建立的3个账号的信息。
【样例输入】
请输入利率:2.5
请输入3个账号及对应的存款金额:
10001 10000
10002 20000
10003 50000
【样例输出】
账号:10000; 存款:0; 本息:0
账号:10001; 存款:10000; 本息:250
账号:10002; 存款:20000; 本息:500
账号:10003; 存款:50000; 本息:1250
3个账户的本息:82000
以上是题干,下面是我写的代码
#include<iostream>
using namespace std;
class Bank {
public:
Bank();
Bank(long id,double d);
void setID(long id);
void setBalance(double d);
double getBalance();
static void setRational(double r);
static double getRational();
void display();
private:
long ID;
double Balance;
static double Rational;
};
Bank::Bank() {
ID = 10000;
Balance = 0;
}
Bank::Bank(long id, double d) {
ID = id;
Balance = d;
}
void Bank::setID(long id) {
ID = id;
}
void Bank::setBalance(double d) {
Balance = d;
}
double Bank::getBalance() {
return Balance;
}
void Bank::setRational(double r) {
Rational = r;
}
double Bank::getRational() {
return Rational;
}
void Bank::display() {
cout << "账号:" << ID << "; " << "存款:" << Balance << "; " << "本息:" << Balance * Rational << endl;
}
int main() {
cout << "请输入利率:";
double r;
cin >> r;
double _r = r / 100;
Bank::setRational(_r);
Bank B0;
Bank B[3];
double sum = 0;
cout << "请输入3个账号及对应的存款金额:" << endl;
for (int i = 0; i < 3; i++) {
long id;
double d;
cin >> id >> d;
B[i].setID(id);
B[i].setBalance(d);
sum += B[i].getBalance() * (1 + B[i].getRational());
}
B0.display();
for (int i = 0; i < 3; i++) {
B[i].display();
}
cout << "3个账户的本息:" << sum << endl;
system("pause");
return 0;
}
然后这是程序报错: