实验课题目

#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 函数使用该类

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值