#include <iostream>
#include <bits/stdc++.h>
#include <vector>
#include <ctime>
using namespace std;
class yh{
private:
string name;
double money;
string mima;
vector<string> log;
string std;
string a[100];
string gettime(){
time_t now=time(nullptr);
tm*local_time=localtime(&now);
char buffer[80];
strftime(buffer,sizeof(buffer),"%Y-%m-%d %H:%M:%S",local_time);
string time_std(buffer);
return time_std;
}
public:
void cs(string n,string m){
name=n;
money=0;
mima=m;
std=gettime()+"恭喜黑奴["+name+"]开卡成功";
cout<<std<<endl;
log.push_back(std);
}
void cz(double n){
money+=n;
std=gettime()+"恭喜黑奴["+name+"]存款"+to_string(n)+"元成功";
cout<<std<<endl;
log.push_back(std);
}
void xk(double n){
if(money>=n){
money-=n;
std=gettime()+"恭喜黑奴["+name+"]取款"+to_string(n)+"元成功";
cout<<std<<endl;
log.push_back(std);
}else{
std=gettime()+"SB["+name+"]没有足够的钱钱取出来";
cout<<std<<endl;
log.push_back(std);
}
}
void sc(){
if(money<100){
std=gettime()+"黑奴["+name+"]余额有"+to_string(money)+"元";
cout<<std<<endl;
log.push_back(std);
}else if(money<1000){
std=gettime()+"尊敬的客户黑奴["+name+"]余额有"+to_string(money)+"元";
cout<<std<<endl;
log.push_back(std);
}else {
std=gettime()+"恭喜VIP黑奴,您好【"+name+"】余额有"+to_string(money)+"元";
cout<<std<<endl;
log.push_back(std);
}
}
void qg(){
string y;
std=gettime()+"请输入你的原密码:";
cout<<std<<endl;
log.push_back(std);
cin>>y;
if(y!=mima){
std=gettime()+"SB"+name+"你不是卡主";
cout<<std<<endl;
log.push_back(std);
}else{
std=gettime()+"请输入原密码:";
cout<<std<<endl;
log.push_back(std);
cin>>y;
mima=y;
}
}
void showlog(){
for(int i=0;i<log.size();i++){
cout<<log[i]<<endl;
}
}
};
int main(){
cout<<"欢迎你来到人机天帝银行!"<<endl;
cout<<"开个卡,请输入你的大名:";
string n;
cin>>n;
cout<<"请输入你的取款密码:";
string m;
cin>>m;
yh a;
a.cs(n,m);
long long number;
double q;
while(1){
system("pause");
system("cls");
cout<<"1.存款"<<endl;
cout<<"2.取款"<<endl;
cout<<"3.查看余额"<<endl;
cout<<"4.修改密码"<<endl;
cout<<"5.牛马日志"<<endl;
cin>>number;
switch(number){
case 1:
cout<<"请输入存款余额:"<<endl;
cin>>q;
a.cz(q);
break;
case 2:
cout<<"请输入取款余额:"<<endl;
cin>>q;
a.xk(q);
break;
case 3:
a.sc();
break;
case 4:{
a.qg();
break;
}
case 5:{
a.showlog();
break;
}
default:{
break;
}
}
}
return 0;
}