代码如下:
#include<vector>
#include<iostream>
#include<ctime>
#include<iterator>//直接使用万能头文件#include<bits/stdc++.h>
using namespace std;
struct tim{
string caozuo1;
int year,month,day,hour,minute,second;
double money1,money2;
};//定义的时间结构体,存交易记录
class Account{
string na;
string hao;
double money;
vector<tim>time11;
public:
Account(string no,string name,double amount);
Account();
void huaqian();
void cunqian();
void getjl();
double getamount();
~Account();
};
Account::Account(string name,string no,double amount)
{
na=name;
hao=no;
money=amount;
}//初始化列表
Account::Account()
{
na="name";
hao="1234";
money=0;
}
Account::~Account()
{
cout<<"您的账户余额为:"<<getamount()<<endl;
cout<<"请全部取出";
huaqian();
}//析构函数
void Account::huaqian()
{
double money;
cout<<"输入取钱金额:";
cin>>money;
if(money>0&&(this->money>=money))
{
this->money-=money;
time_t rawtime;
struct tm *ptminf;
time(&rawtime);
ptminf=localtime(&rawtime);
tim t;
t.caozuo1="取钱";
t.year=ptminf->tm_year+1900;
t.month=ptminf->tm_mon+1;
t.day=ptminf->tm_mday;
t.hour=ptminf->tm_hour;
t.minute=ptminf->tm_min;
t.second=ptminf->tm_sec;
t.money1=money;
t.money2=this->money;
time11.push_back(t);
}
else
{
cout<<"余额不足"<<endl;;
}
}//取钱的操作
void Account::cunqian()
{
double money;
cout<<"输入存款金额:";
cin>>money;
if(money>0)
{
this->money+=money;
time_t rawtime;
struct tm *ptminfo;
time(&rawtime);
ptminfo=localtime(&rawtime);
tim t;
t.caozuo1="存钱";
t.year=ptminfo->tm_year+1900;
t.month=ptminfo->tm_mon+1;
t.day=ptminfo->tm_mday;
t.hour=ptminfo->tm_hour;
t.minute=ptminfo->tm_min;
t.second=ptminfo->tm_sec;
t.money1=money;
t.money2=this->money;
time11.push_back(t);
}
else
{
cout<<"输入正确的金额";
}
}//存钱的操作
void Account::getjl()
{
vector<tim>::iterator oi;
for(oi=time11.begin();oi!=time11.end();oi++)
{
cout<<oi->caozuo1<<":"<<oi->money1<<"\t"<<"余额:"<<oi->money2<<"\t"<<oi->year<<"-"<<oi->month<<"-"<<oi->day<<" "<<oi->hour<<":"<<oi->minute<<":"<<oi->second<<endl;
}
}//输出记录
double Account::getamount()
{
return this->money;
}//查询余额
int main()
{
string name;
string noo;
int caozuo;
double qian;
cout<<"姓名:";
cin>>name;
cout<<"账号:";
cin>>noo;
cout<<"预存款金额:";
cin>>qian;
Account xin(name,noo,qian);
cout<<"1-存钱 2-取钱 3-查询余额 4-查询记录 5-结束操作"<<endl<<endl;
cout<<"请输入数字:";
while(cin>>caozuo)
{
if(caozuo==5)
{
break;
}
else if(caozuo==1)
{
xin.cunqian();
}
else if(caozuo==2)
{
xin.huaqian();
}
else if(caozuo==3)
{
cout<<"您的账户余额为:"<<xin.getamount()<<endl;
}
else if(caozuo==4)
{
xin.getjl();
cout<<endl;
}
else
{
cout<<"请输入正确的数字"<<endl;;
}
cout<<"请输入数字:";
}
return 0;
}