#include<bits/stdc++.h>
using namespace std;
class Time
{
int month;
int day;
int hour;
int minute;
public:
Time(){
month=0;day=0;hour=0;minute=0;
}
Time(int month1,int day1,int hour1,int minute1):month(month1),day(day1),hour(hour1),minute(minute1){}
void setMonth(int month1){month=month1;}
int getMonth(){return month;}
void setDay(int day1){day=day1;}
int getDay(){return day;}
void setHour(int hour1){hour=hour1;}
int getHour(){return hour;}
void setMinute(int minute1){minute=minute1;}
int getMinute(){return minute;}
void display();
};
void Time::display(){
cout<<month<<" "<<day<<" "<<hour<<" "<<minute;
}
class Record
{
int no;
Time date;//交易日期
string type;//存钱,取钱
int jine;//交易金额
double yue;//余额
public:
Record():date(0,0,0,0){
no=0;
type="cq";
jine=0;
yue=0;
}//无参构造函数
Record(int no1,Time date1,string type1,int jine1,double yue1):no(no1),date(date1),type(type1),jine(jine1),yue(yue1){}
Record(int no1,int month1,int day1,int hour1,int minute1,string type1,int jine1,double yue1):date(month1,day1,hour1,minute1)
{
no=no1;
type=type1;
jine=jine1;
yue=yue1;
}
//有参构造函数
void setType(string type1){type=type1;}
string getType(){return type;}
void getJine(int jine1){jine=jine1;}
int getJine(){return jine;}
void setYue(double yue1){yue=yue1;}
double getYue(){return yue;}
Time getDate(){return date;}
void display();
};
void Record::display(){
cout<<no<<" ";
date.display();
cout<<" "<<type<<" "<<jine<<" "<<yue<<endl;}
class User
{
int no;//账号
string name;
string mima;
double yue;
Record r[200];//交易记录
int num;//当前交易记录数
public:
void setNo(int no1){no=no1;}
int getNo(){return no;}
void setName(string name1){name=name1;}
string getName(){return name;}
void setMima(string mima1){mima=mima1;}
string getMima(){return mima;}
void setYue(double yue1){yue=yue1;}
double getYue(){return yue;}
void setNum(int num1){num=num1;}
int getNum(){return num;}
User(){
no=0;
name="xingming";
mima="123456";
yue=0;
num=0;
}//无参构造函数
User(int no1,string name1,string mima1,double yue1){
no=no1;
name= name1;
mima=mima1;
yue=yue1;
num=0;
}//带参构造函数
User(User&u){
no=u.no;
name=u.name;
mima=u.mima;
yue=u.yue;
num=u.num;
for(int i=0;i<u.num;i++)
r[i]=u.r[i];//操作记录也要复制
}//复制构造函数
void add(Record r);//增加一条交易记录
void dispRecord(int i);//显示一条交易记录
void dispAllRecord();//显示所有交易记录
void display();
// bool operator>=(const User& u);
//bool operator<=(const User& u);
void queryByTime(Time t1,Time t2);//查询指定时间段内的交易记录
void queryByType(string type);//查询指定类型的时间交易记录
};
void User::display(){
cout<<no<<" "<<name<<" "<<mima<<" "<<yue<<endl;
}
void User::dispAllRecord(){//显示所有交易记录
for(int i=0;i<num;i++)
r[i].display();
}
void User::dispRecord(int i){//显示一条交易记录
r[i].display();
}
void User::add(Record rr){//增加一条交易记录
r[num]=rr;
num++;
}
/*
bool User::operator>=(const User& u){
if(*this<u)return false;
else return true;
}
bool User::operator<=(const User& u){
if(*this>u)return false;
else return true;
}
*/
void User::queryByTime(Time t1,Time t2){//查询指定时间段内的交易记录
for(int i=0;i<num;i++)
{
Time t=r[i].getDate();
if(t.getMonth()<=t2.getMonth()&&t.getMonth()>=t1.getMonth())
if(t.getDay()<=t2.getDay()&&t.getDay()>=t1.getDay())
r[i].display();
}
}
void User::queryByType(string type){//查询指定类型的时间交易记录
for(int i=0;i<num;i++)
{
string type1=r[i].getType();
if(type==type1)
r[i].display();
}
}
int main()
{
//freopen("in.dat","r",stdin);
//freopen("out.dat","w",stdout);
int no;
string name;
string mima;
int yue;
cin>>no>>name>>mima>>yue;
User u1(no,name,mima,yue);
u1.display();
u1.setMima("778899");
u1.display();
Time t1(4,22,8,10);
Time t2(4,28,13,20);
Record r1(no,t1,"qq",200,2000);
u1.add(r1);
Record r2(no,t2,"cq",400,2400);
u1.add(r2);
u1.dispRecord(1);//从零开始计数的
Time T1(4,28,0,0);
Time T2(4,29,0,0);
u1.queryByTime(T1,T2);
u1.dispAllRecord();
User u2(u1);
u2.display();
u2.dispAllRecord();
u1.queryByType("cq");
u2.display();
u2.dispAllRecord();
return 0;
}
ATM用户数据类
最新推荐文章于 2018-05-28 01:02:13 发布