c++设计活期存款类Deposit . 参考图1,每个账户有帐号(自动编号)、户名、密码、金额、月利率(静态成员)、开户时间6项信息。银行每月1号要根据账户余额发给客户利息,利息被累计到客户存款余额中。银行可以更改利率。
时间: 2023-12-16 14:04:11 浏览: 170
好的,我可以帮你设计一个 Deposit 类,代码如下:
```c++
#include <iostream>
#include <string>
#include <ctime>
using namespace std;
class Deposit {
private:
int id; // 账户编号
string name; // 户名
string password; // 密码
double balance; // 余额
static double interestRate; // 月利率
time_t createTime; // 开户时间
public:
Deposit(string name, string password, double balance) {
static int count = 0;
this->id = ++count;
this->name = name;
this->password = password;
this->balance = balance;
this->createTime = time(NULL);
}
// 存款
void deposit(double amount) {
balance += amount;
}
// 取款
bool withdraw(string password, double amount) {
if (this->password != password) {
return false;
}
if (amount > balance) {
return false;
}
balance -= amount;
return true;
}
// 利息计算
void calculateInterest() {
double interest = balance * interestRate;
balance += interest;
}
// 修改利率
static void setInterestRate(double rate) {
interestRate = rate;
}
void display() {
cout << "账户编号:" << id << endl;
cout << "户名:" << name << endl;
cout << "余额:" << balance << endl;
cout << "开户时间:" << ctime(&createTime) << endl;
}
};
double Deposit::interestRate = 0.01;
int main() {
Deposit d("张三", "123456", 1000);
d.display();
Deposit::setInterestRate(0.02);
d.calculateInterest();
d.display();
bool result = d.withdraw("123456", 500);
if (result) {
cout << "取款成功" << endl;
} else {
cout << "取款失败" << endl;
}
d.display();
return 0;
}
```
Deposit 类包括了存款、取款、利息计算、修改利率等功能。其中,利息计算和修改利率是静态成员函数,通过类名直接调用。其余功能都是普通成员函数。
在 main 函数中,我们首先创建了一个账户对象 d,并打印出了账户信息。然后,我们通过 Deposit::setInterestRate() 函数修改了利率,并调用了 d.calculateInterest() 函数计算了利息,并打印出账户信息。接着,我们尝试取款,如果取款成功则输出“取款成功”,否则输出“取款失败”。最后再次打印出账户信息。
需要注意的是,这里的开户时间采用了 time_t 类型,需要使用 ctime 函数将其转换成字符串格式输出。
阅读全文