银行卡系统,实现存钱、取钱、查询交易记录三个操作
#include<bits/stdc++.h>
using namespace std;
struct Record
{
int nian,yue,ri;
double ben,mon;
};
class Card
{
string number;
string password;
double yuan;
vector<Record>re;
public:
Card():number(),password(),yuan()
{
re.clear();
}
Card(string number,string password,double a):number("2018212520"),password("123456"),yuan(0)
{
re.clear();
}
friend void chushi();
friend void deposit();//存钱
friend void withdrawal();//取钱
friend void inquire();//查询
} bank;
void chushi()
{
cin>>bank.number>>bank.password;
}
void deposit()
{
string zhanghao;
string mima;
double money;
Record rr;
rewrite1:
cout<<"请输入账号密码"<<endl;
cin>>zhanghao>>mima;
if(zhanghao==bank.number&&mima==bank.password)
{
cin>>money;
rr.mon=money;//存入金额
rr.ben+=money;//当前账户金额
int x,y,z;
cin>>x>>y>>z;//输入日期
rr.nian=x;
rr.yue=y;
rr.ri=z;
bank.re.push_back(rr);
}
else
{
cout<<"密码错误!"<<endl;
goto rewrite1;
}
}
void withdrawal()
{
string zhanghao;
string mima;
double money;
Record rr;
int x,y,z;
rewrite2:
cout<<"请输入账号密码"<<endl;
cin>>zhanghao>>mima;
if(zhanghao==bank.number&&mima==bank.password)
{
cin>>money;
rr.mon=-money;//存入金额
rr.ben-=money;//当前账户金额
cin>>x>>y>>z;//输入日期
rr.nian=x;
rr.yue=y;
rr.ri=z;
bank.re.push_back(rr);
}
else
{
cout<<"密码错误!"<<endl;
goto rewrite2;
}
}
void inquire()
{
string zhanghao;
string mima;
int n1,n2,y1,y2,r1,r2;
rewrite:
cout<<"请输入账号密码"<<endl;
cin>>zhanghao>>mima;
if(zhanghao==bank.number&&mima==bank.password)
{
cin>>n1>>y1>>r1;
cin>>n2>>y2>>r2;
for(int i=n1; i<=n2; i++)
{
for(int j=y1; j<=y2; j++)
{
for(int k=r1; k<=r2; k++)
{
for(int m=0; m<bank.re.size(); m++)
{
if(bank.re[m].nian==i&&bank.re[m].yue==j&&bank.re[m].ri==k)
{
cout<<bank.re[m].nian<<"-"<<bank.re[m].yue<<"-"<<bank.re[m].ri<<" ";
cout<<bank.re[m].ben<<" "<<bank.re[m].mon<<endl;
}
}
}
}
}
}
else
{
cout<<"密码错误!"<<endl;
goto rewrite;
}
}
void judge(int a)
{
if(a==1)
deposit();
if(a==2)
withdrawal();
if(a==3)
inquire();
else
return;
}
int main()
{
/*chushi();
deposit();
withdrawal();
inquire();*/
chushi();
int j;
while(cin>>j)
{
judge(j);
}
return 0;
}