#ifndef BANK_H
#define BANK_H
#include <iostream>
#include <string>
#include <ctime>
#include <sstream>
time_t t;
class Bank {
public:
//构造函数
Bank(const std::string &s, const double &res) : id(s), rest(res), num(0){}
//成员函数
inline void bankIn(const double&);
inline void bankOut(const double&);
inline void disp()const;
private:
std::string id; //账号
double rest; //账户余额
std::string record[50]; //交易记录
int num; //记录交易次数
};
void Bank::bankIn(const double &m) {
rest += m;
t = time(NULL);
//写交易记录
std::ostringstream ostring;
ostring << ctime(&t) << "Bank in " << m << "\n"
<< "Now, your rest is " << rest << "." << "\n";
if (num != 50){
record[num] = ostring.str();
++num;
}
else{
for (int ix = 0; ix != 49; ++ix){
record[ix] = record[ix + 1];
}
record[49] = ostring.str();
}
}
void Bank::bankOut(const double &m) {
rest -= m;
t = time(NULL);
//写交易记录
std::ostringstream ostring;
ostring << ctime(&t) << "Bank out " << m << "\n"
<< "Now, your rest is " << rest << "." << "\n";
if (50 != num){
record[num] = ostring.str();
++num;
}
else{
for (int ix = 0; ix != 49; ++ix){
record[ix] = record[ix + 1];
}
record[49] = ostring.str();
}
}
void Bank::disp()const {
for (int ix = 0; ix != num; ++ix) {
std::cout << record[ix] << std::endl;
}
}
#endif
#include <iostream>
#include <string>
#include "Bank.h"
using namespace std;
int main()
{
Bank bank1("peige", 100000);
bank1.bankIn(5000);
bank1.bankIn(20000);
bank1.bankOut(50000);
bank1.bankOut(1000);
bank1.disp();
system("pause");
return 0;
}
l
一 、设计一个
Bank
类,实现银行某账号的资金往来账目管理,包括建账号、存入、取出等
Ø
Bank
类包括私有数据
成员账号
number
,
rest
(
账户余额
)
和成功操作的交易记录
stringrecords[50]
(
或者
charrecords[50][100])
。每一条记录包含的信息有:交易时间(精确到秒)、交易类型(存钱和取钱)和交易金额
Ø
Bank
类有一个构造
函数
(
设置账号和初始余额
)
和
三个成员函数
bankin
(doublem)(
处理存入账
)
,
bankout
(double m)
处理取出账
)
和
disp
(Bankb)
(
输出明细账
)
Ø
自己设计
main
函数使用该类