C++ATM管理端

#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <fstream>
using namespace std;

class Date
{
public:
    Date();
    Date(int year, int month, int day) :m_year(year), m_month(month), m_day(day) {}
    ~Date();

    void setYear(int year);
    void setMonth(int month);
    void setDay(int day);
    void setDate(int year, int month, int day);
    int getYear();
    int getMonth();
    int getDay();

    friend bool operator<(const Date &date1, const Date &date2);
    friend ostream &operator<<(ostream &cout, const Date &date);
    friend istream &operator>>(istream &cin, Date &date);
private:
    int m_year;
    int m_month;
    int m_day;
};

Date::Date()
{}

Date::~Date()
{}

void Date::setYear(int year)
{
    m_year = year;
}

void Date::setMonth(int month)
{
    m_month = month;
}

void Date::setDay(int day)
{
    m_day = day;
}

void Date::setDate(int year, int month, int day)
{
    m_year = year;
    m_month = month;
    m_day = day;
}

int Date::getYear()
{
    return m_year;
}

int Date::getMonth()
{
    return m_month;
}

int Date::getDay()
{
    return m_day;
}

bool operator<(const Date &date1, const Date &date2)
{
    if (date1.m_year < date2.m_year)
    {
        return 1;
    }
    else if (date1.m_year == date2.m_year)
    {
        if (date1.m_month < date2.m_month)
        {
            return 1;
        }
        else if (date1.m_month == date2.m_month)
        {

            if (date1.m_day <= date2.m_day)
            {
                return 1;
            }
        }
    }
    return 0;

}

ostream &operator<<(ostream &cout, const Date &date)
{
    //cout << date.m_year << "/" << date.m_month << "/" << date.m_day;
    cout << date.m_year << "\n" << date.m_month << "\n" << date.m_day;
    return cout;
}

istream &operator>>(istream &cin, Date &date)
{
    cin >> date.m_year >> date.m_month >> date.m_day;

    return cin;
}

void testDate()
{
    Date d, d1;
    cin >> d;
    cout << d << endl;
    d1.setDate(2021, 4, 30);
    cout << d1 << endl;

    cout << (d < d1);
}

class Record
{
public:
    Record();
    Record(Date &date, string name, string type, double amount, double balance);
    ~Record();

    void setName(string name);
    void setDate(Date &date);
    void setBalance(double balance);
    void setAmount(double amount);
    void setType(string type);

    string getName();
    Date &getDate();
    double getBalance();
    double getAmount();
    string getType();

    friend ostream &operator<<(ostream &cout, const Record &r);
    friend istream &operator>>(istream &cin, Record &r);
private:
    string m_name;
    Date m_date;
    double m_balance;
    double m_amount;
    string m_type;
};

Record::Record()
{}

Record::Record(Date &date, string name, string type, double amount, double balance)
{
    m_name = name;
    m_date = date;
    m_balance = balance;
    m_amount = amount;
    m_type = type;
}


Record::~Record()
{}

void Record::setName(string name)
{
    m_name = name;
}

void Record::setDate(Date &date)
{
    m_date = date;
}

void Record::setBalance(double balance)
{
    m_balance = balance;
}

void Record::setAmount(double amount)
{
    m_amount = amount;
}

void Record::setType(string type)
{
    m_type = type;
}

string Record::getName()
{
    return m_name;
}

Date & Record::getDate()
{
    return m_date;
}

double Record::getBalance()
{
    return m_balance;
}

double Record::getAmount()
{
    return m_amount;
}

string Record::getType()
{
    return m_type;
}

ostream &operator<<(ostream &cout, const Record &r)
{
    //cout << "Date: " << r.m_date << " Name: " << r.m_name << " Type: " << r.m_type << " Amount: " << r.m_amount << " Balance: " << r.m_balance;
    cout << "\n" << r.m_date << "\n" << r.m_name << "\n" << r.m_type << "\n" << r.m_amount << "\n" << r.m_balance<<endl;
    return cout;
}
istream &operator>>(istream &cin, Record &r)
{
    cin >> r.m_date >> r.m_name >> r.m_type >> r.m_amount >> r.m_balance;

    return cin;
}

void testRecord()
{
    Date d(2021, 4, 30);
    Record r(d, "jeff", "qq", 100, 0);
    cout << r << endl;
}

class User
{
public:
    User();
    User(string name, string cid, string uid) :m_name(name), m_cid(cid), m_uid(uid)
    {
        m_balance = 0;
        m_i="wdj";
    }
    ~User();
    void setName(string name);
    void setCid(string cid);
    void setUid(string uid);
    void setBalance(double balance);
    void setI(string i)
    {
        m_i=i;
    }
    string getName();
    string getCid();
    string getUid();
    double getBalance();
    string getI()
    {
        return m_i;
    }
    friend ostream &operator<<(ostream &cout, const User& u);
    friend istream &operator>>(istream &cin, User & u);
    friend bool operator==(const User &u1, const User &u2);
private:
    string m_name;
    string m_cid;
    string m_uid;
    double m_balance;
    string m_i;
};

User::User()
{}

User::~User()
{}

void User::setName(string name)
{
    m_name = name;
}

void User::setCid(string cid)
{
    m_cid = cid;
}

void User::setUid(string uid)
{
    m_uid = uid;
}

void User::setBalance(double balance)
{
    m_balance = balance;
}

string User::getName()
{
    return m_name;
}

string User::getCid()
{
    return m_cid;
}

string User::getUid()
{
    return m_uid;
}

double User::getBalance()
{
    return m_balance;
}

ostream &operator<<(ostream &cout, const User& u)
{
    //cout << "Name: " << u.m_name << " Cid: " << u.m_cid << " Uid: " << u.m_uid << " Balance: " << u.m_balance;
    cout << "\n" << u.m_name << "\n" << u.m_cid << "\n" << u.m_uid<<"\n"<<u.m_balance<<"\n"<<u.m_i;
    return cout;
}

istream &operator>>(istream &cin, User & u)
{
    cin >> u.m_name >> u.m_cid >> u.m_uid>>u.m_balance>>u.m_i;

    return cin;
}

bool operator==(const User &u1, const User &u2)
{
    if ((u1.m_name==u2.m_name)&&(u1.m_cid == u2.m_cid)&& (u1.m_uid == u2.m_uid))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

void testUser()
{
    User u("ding", "11111", "341204");
    cout << u << endl;
    cin >> u;
    cout << u << endl;
}

class Operator
{
public:
    Operator();
    Operator(User &user, Date &date) :m_user(user), m_date(date){ pd(user);}
    Operator(User &user);
    ~Operator();

    void setDate(Date &date);

    void add(Record &r);
    void drawmoney(double dm);
    void deposite(double dp);
    void querybydate(Date &d1, Date &d2);
    void querybytype(string type);
    void show();
    void showuser();
    void loadrecord();
    int loaduser();
    void saverecord(Record &r);
    void saveuser();
    void fileempty(const char* filename);//清空文件内容
    void pd(User &user);//判断是否为当前用户
    void loadrecord(Record r);
private:
    User m_user;
    Date m_date;
    vector<Record> m_r;
    vector<User> m_u;
    multimap<string,Record> m_m1;
    multimap<Date, Record> m_m2;
};

Operator::Operator()
{}
Operator::Operator(User &user):m_user(user)
{
    pd(user);

}
Operator::~Operator()
{

    //saveuser();
}

void Operator::setDate(Date &date)
{
    m_date = date;
}

void Operator::add(Record &r)
{
    m_r.push_back(r);
    m_m1.insert(make_pair(r.getType(),r));
    m_m2.insert(make_pair(r.getDate(), r));
}

void Operator::drawmoney(double dm)
{
    //pd(m_user);
     if (m_user.getI()=="wdj")
     {
         if (dm <= m_user.getBalance())
         {
             //cout<<m_user.getName()<<endl;
             m_user.setBalance(m_user.getBalance() - dm);
             Record r(m_date, m_user.getName(), "qq", dm, m_user.getBalance());
             add(r);
             saverecord(r);
             for (vector<User>::iterator it=m_u.begin();it!=m_u.end();++it)
             {
                 if (m_user.getName()==it->getName())
                 {
                     it->setBalance(m_user.getBalance());
                     saveuser();
                     break;
                 }
             }
         }
         else
         {
             cout << "drawmoneyerror" << endl;
         }
     }
     else
     {
         cout<<"用户:"<<m_user.getName()<<"已被dj不能进行取钱操作!!!"<<endl;
     }

}

void Operator::deposite(double dp)
{
   //pd(m_user);
   //cout<<m_user.getI()<<endl;
    if (m_user.getI()=="wdj")
    {
        m_user.setBalance(dp + m_user.getBalance());
        Record r(m_date, m_user.getName(), "cq", dp, m_user.getBalance());
        add(r);
        saverecord(r);

        for (vector<User>::iterator it=m_u.begin();it!=m_u.end();++it)
        {
            if (m_user.getName()==it->getName())
            {
                it->setBalance(m_user.getBalance());
                saveuser();
                break;
            }
        }
    }
    else
    {
        cout<<"用户:"<<m_user.getName()<<"已被dj不能进行存钱操作!!!"<<endl;
    }
}

void Operator::querybytype(string type)
{
    loadrecord();
    for (multimap<string, Record>::iterator it = m_m1.lower_bound(type); it != m_m1.upper_bound(type); ++it)
    {
        cout << "Records: "<<"\n" << "Date:"<<it->second.getDate().getYear()<<"/"<<it->second.getDate().getMonth()<<"/"<<it->second.getDate().getDay()<<"\n"
             <<"Name: " << it->second.getName() << " Type: " << it->second.getType()
             << " Amount: " << it->second.getAmount()<< " Balance: " << it->second.getBalance()<<endl;

    }


}

void Operator::querybydate(Date &d1, Date &d2)
{
    loadrecord();
    for (multimap<Date, Record>::iterator it = m_m2.lower_bound(d1); it != m_m2.upper_bound(d2); ++it)
    {
        cout << "Records: "<<"\n" << "Date:"<<it->second.getDate().getYear()<<"/"<<it->second.getDate().getMonth()<<"/"<<it->second.getDate().getDay()<<"\n"
             <<"Name: " << it->second.getName() << " Type: " << it->second.getType()
             << " Amount: " << it->second.getAmount()<< " Balance: " << it->second.getBalance()<<endl;

    }
}

void Operator::show()
{
    //cout<<m_r.size()<<endl;
    loadrecord();
    for (vector<Record>::iterator it = m_r.begin(); it != m_r.end(); ++it)
    {
        //cout<<m_r.size();
        cout << "Records: " <<"\n"<< "Date:"<<it->getDate().getYear()<<"/"<<it->getDate().getMonth()<<"/"<<it->getDate().getDay()<<"\n"
             <<"Name: " << it->getName() << " Type: " << it->getType()<< " Amount: " << it->getAmount()<< " Balance: " << it->getBalance()<<endl;

    }
}

void Operator::showuser()
{
    cout <<"Name: "<< m_user.getName()<<"  CID: "<<m_user.getCid() <<"  UID: "<<m_user.getUid()<< endl;
    show();
}

int Operator::loaduser()
{
    ifstream infile("丁帅帅user.txt", ios::in);

    if (!infile)
    {
        cout << "loaduser()error" << endl;
        infile.close();
        //cout<<"dd1"<<endl;
        return 0;
    }
    else
    {
        //cout<<"m_user0000"<<endl;
        m_u.clear();
        //cout<<"m_user"<<endl;
        User u;
        while (infile >> u)
        {
            m_u.push_back(u);
            //cout<<"m_user2222"<<endl;
        }
        //cout<<"dd2"<<endl;
        //fileempty("丁帅帅user.txt");
        //loadrecord();
        infile.close();
        return 1;
    }

}

void Operator::loadrecord()
{
    ifstream infile("丁帅帅rec.txt", ios::in);
    if (!infile)
    {
        cout << "loadrecorderror" << endl;
        infile.close();
    }
    m_r.clear();
    m_m1.clear();
    m_m2.clear();
    Record r;
    while (infile>>r)
    {

        if(r.getName()==m_user.getName())
        {
            m_r.push_back(r);
            m_m1.insert(make_pair(r.getType(), r));
            m_m2.insert(make_pair(r.getDate(), r));
        }
    }
    infile.close();

}

void Operator::loadrecord(Record r)
{
    ifstream infile("丁帅帅rec.txt", ios::in);
    if (!infile)
    {
        cout << "loadrecord(Record r)error" << endl;
        infile.close();
    }
    m_r.clear();
    //cout<<"  m_r.clear();"<<endl;
    //Record r;
    while (infile>>r)
    {
        // cout<<" m_r.push_back(r);"<<endl;
        m_r.push_back(r);
    }
    infile.close();
}

void Operator::saveuser()
{
    ofstream outfile("丁帅帅user.txt", ios::out);
    if (!outfile)
    {
        cout << "saveuser()error" << endl;
        outfile.close();
    }
    for (vector<User>::iterator it = m_u.begin(); it != m_u.end(); ++it)
    {
        outfile << *it << endl;
    }
    outfile.close();
    // cout << "saveuser success!!"<< endl;
}

void Operator::saverecord(Record &r)
{
    ofstream outfile("丁帅帅rec.txt", ios::app|ios::out);
    if (!outfile)
    {
        cout << "saverecord(Record &r)error" << endl;
        outfile.close();
    }
    outfile << r << endl;
    outfile.close();
}

void Operator::fileempty( const char* filename)
{
    ofstream file(filename, ios::out);
    //cout<<"清空"<<endl;
    file.close();
}

void Operator::pd(User &user)
{
    loaduser();
    //cout<<m_u.size()<<endl;
    for (vector<User>::iterator it=m_u.begin();it!=m_u.end();++it)
    {
           if (user.getName()==it->getName())
           {
               if(it->getI()=="dj")
               {
                   cout<<"用户:"<<user.getName()<<"已被dj只能进行查询操作!!!"<<endl;
                   m_user=*it;
                   break;
               }
               m_user=*it;
           }
    }

}

void testkhd()
{
    //测试新建用户
    User user("Ding", "111111", "341204");
    Date date(2021, 1, 1);
    Date date1(2021, 2, 2);
    Date date2(2021, 3, 3);
    Date date3(2021, 4, 4);

    /* Operator op(user, date);
      op.deposite(800);
      op.setDate(date1);
      op.deposite(10000);
      op.drawmoney(5000);
      op.setDate(date2);
      op.deposite(800);
      op.drawmoney(500);
      op.setDate(date3);
      op.deposite(800);
      op.setDate(date);
      op.deposite(1000);
      op.drawmoney(500);*/
    //读取文件用户并查询
    Operator op(user);
    //op.querybytype("cq");
    //op.querybytype("qq");
    op.querybydate(date,date3);
    //op.show();
    //op.showuser();

    /* User user1("Dss", "222222", "341204");
     *//*Date date4(2018, 5,5);
    Operator op1(user1, date4);
    op1.deposite(1000);
    op1.drawmoney(500);*//*

    Date date5(2019, 6, 6);
    Date date6(2020, 7, 7);*/
    //读取文件用户并查询
    //Operator op1(user1);
    /* op1.setDate(date5);
     op1.deposite(10000);
     op1.setDate(date6);
     op1.drawmoney(5000);*/
    //op1.querybytype("cq");
    //op1.querybytype("qq");


}

class Admin
{
public:
    Admin(){loaduser();}

    Admin(User &mUser);

    Admin(User &mUser, const Date &mDate);

    ~Admin()
    {
        saveuser();
    }

    void setDate(Date &date);

    void setUser(User &user);

    void querybydate(Date &d1, Date &d2);

    void querybytype(string type);

    void querybyuser(User &user);

    void show();

    void showuser();

    void loadrecord(User &user);

    int loaduser();

    void saverecord();

    void saveuser();

    void add(User &user);

    void fileempty(const char* filename);//清空文件内容

    void pd(User &user);//判断是否为当前用户,是否重复

    void deleteuser(User &user);//删除用户

    void deletrecord(User &user);//删除记录

    void freezeuser(User &user);//dj用户

    void activateuser(User &user);//激活用户

    void loadrecord();
private:
    User m_user;
    Date m_date;
    vector<Record> m_r;
    vector<User> m_u;
    vector<User> m_dj;
    multimap<string,Record> m_m1;
    multimap<Date, Record> m_m2;
    multimap<string,Record> m_m3;

};

Admin::Admin(User &mUser) : m_user(mUser)
{
    pd(mUser);
}

Admin::Admin(User &mUser, const Date &mDate) : m_user(mUser), m_date(mDate)
{
    pd(mUser);
}

void Admin::setDate(Date &date)
{
    m_date = date;
}

void Admin::setUser(User &user)
{
     m_user=user;
}
void Admin::querybydate(Date &d1, Date &d2)
{
    loadrecord(m_user);
    for (multimap<Date, Record>::iterator it = m_m2.lower_bound(d1); it != m_m2.upper_bound(d2); ++it)
    {
        cout << "Records: "<<"\n" << "Date:"<<it->second.getDate().getYear()<<"/"<<it->second.getDate().getMonth()<<"/"<<it->second.getDate().getDay()<<"\n"
             <<"Name: " << it->second.getName() << " Type: " << it->second.getType()
             << " Amount: " << it->second.getAmount()<< " Balance: " << it->second.getBalance()<<endl;

    }
}

void Admin::querybytype(string type)
{
    loadrecord(m_user);
    for (multimap<string, Record>::iterator it = m_m1.lower_bound(type); it != m_m1.upper_bound(type); ++it)
    {
        cout << "Records: "<<"\n" << "Date:"<<it->second.getDate().getYear()<<"/"<<it->second.getDate().getMonth()<<"/"<<it->second.getDate().getDay()<<"\n"
             <<"Name: " << it->second.getName() << " Type: " << it->second.getType()
             << " Amount: " << it->second.getAmount()<< " Balance: " << it->second.getBalance()<<endl;

    }
}

void Admin::querybyuser(User &user)
{
    loadrecord(user);
    for (multimap<string, Record>::iterator it = m_m3.lower_bound(user.getName()); it != m_m3.upper_bound(user.getName()); ++it)
    {
        cout << "Records: "<<"\n" << "Date:"<<it->second.getDate().getYear()<<"/"<<it->second.getDate().getMonth()<<"/"<<it->second.getDate().getDay()<<"\n"
             <<"Name: " << it->second.getName() << " Type: " << it->second.getType()
             << " Amount: " << it->second.getAmount()<< " Balance: " << it->second.getBalance()<<endl;
    }
}

void Admin::show()
{

    loadrecord(m_user);
    for (vector<Record>::iterator it = m_r.begin(); it != m_r.end(); ++it)
    {
        cout << "Records: " <<"\n"<< "Date:"<<it->getDate().getYear()<<"/"<<it->getDate().getMonth()<<"/"<<it->getDate().getDay()<<"\n"
             <<"Name: " << it->getName() << " Type: " << it->getType() << " Amount: " << it->getAmount()<< " Balance: " << it->getBalance()<<endl;

    }
}

void Admin::showuser()
{
   for(vector<User>::iterator it=m_u.begin();it!=m_u.end();++it)
   {
       cout<<"User: "<<"\n"<<"Name: "<<it->getName()<<" CID: "<<it->getCid()<<" UID: "<<it->getUid()<<" Balance: "<<it->getBalance()<<endl;
   }
}

void Admin::loadrecord(User &user)
{
    ifstream infile("丁帅帅rec.txt", ios::in);
    if (!infile)
    {
        cout << "loadrecord(User &user)error" << endl;
        infile.close();
    }
    m_r.clear();
    m_m1.clear();
    m_m2.clear();
    m_m3.clear();
    Record r;
    while (infile>>r)
    {

        if(r.getName()==user.getName())
        {
            m_r.push_back(r);
            m_m1.insert(make_pair(r.getType(), r));
            m_m2.insert(make_pair(r.getDate(), r));
            m_m3.insert(make_pair(r.getName(), r));
        }
    }
    infile.close();
}

int Admin::loaduser()
{
    ifstream infile("丁帅帅user.txt", ios::in);

    if (!infile)
    {
        cout << "error" << endl;
        infile.close();
        return 0;
    }
    else
    {
        m_u.clear();
        User u;
        while (infile >> u)
        {
            //cout<<"111"<<endl;
            m_u.push_back(u);
        }
        fileempty("丁帅帅user.txt");
        infile.close();
        return 1;
    }
}

void Admin::saverecord()
{


    ofstream outfile("丁帅帅rec.txt", ios::out);
    if (!outfile)
    {
        cout << "error" << endl;
        outfile.close();
    }
    // cout<<" ofstream outfile(;  " <<endl;
    for (vector<Record>::iterator it = m_r.begin(); it != m_r.end(); ++it)
    {
        // cout<<"outfile<<*it; " <<endl;
         outfile<<*it;
    }
    outfile.close();
}

void Admin::loadrecord()
{
    ifstream infile("丁帅帅rec.txt", ios::in);
    if (!infile)
    {
        cout << "error" << endl;
        infile.close();
    }
    m_r.clear();
    //cout<<"  m_r.clear();"<<endl;
    Record r;
    while (infile>>r)
    {
       // cout<<" m_r.push_back(r);"<<endl;
        m_r.push_back(r);
    }
    infile.close();
}
void Admin::saveuser()
{
    ofstream outfile("丁帅帅user.txt", ios::out);
    if (!outfile)
    {
        cout << "error" << endl;
        outfile.close();
    }
    for (vector<User>::iterator it = m_u.begin(); it != m_u.end(); ++it)
    {
        outfile << *it << endl;
        //cout<<*it<<endl;
    }
    outfile.close();
}

void Admin::fileempty(const char *filename)
{
    ofstream file(filename, ios::out);
    file.close();
}

void Admin::pd(User &user)
{
        loaduser();

        int i=1;
        for (vector<User>::iterator it = m_u.begin(); it != m_u.end(); ++it)
        {
            if(user==*it)
            {
                break;
            }
            else if(m_u.size()==i)
            {
                cout<<"无此人!!!按1增加此用户,按其他任意键跳过"<<endl;
               int j;
               cin>>j;
               if(j==1)
               {
                   m_u.push_back(user);
                   //add(user);
                   break;
               }
               else
               {
                   break;
               }
            }
            i++;
        }


}


void Admin::add(User &user)
{
    int i=1;
    /*cout<<"22222"<<endl;
    cout<<m_u.size()<<endl;*/
    for (vector<User>::iterator it = m_u.begin(); it != m_u.end(); ++it)
    {
        if(user==*it)
        {
            cout<<"用户已存在"<<endl;
            break;
        }
        else if(m_u.size()==i)
        {
            m_u.push_back(user);
            cout<<"增加成功!!!"<<endl;
            break;
        }
        i++;
    }

}

void Admin::deleteuser(User &user)
{
    for (vector<User>::iterator it = m_u.begin(); it != m_u.end(); ++it)
    {
        if(*it==user)
        {
            m_u.erase(it);
            deletrecord(user);
            break;
        }
    }

}

void Admin::deletrecord(User &user)
{
    loadrecord();
   // cout<<"loadrecord(user);  "<<endl;
   //cout<<m_r.size()<<endl;
   /* for (vector<Record>::iterator it = m_r.begin(); it != m_r.end(); ++it)
    {
        if(it->getName()==user.getName())
       {
              m_r.erase(it);
            //m_r.erase(it);
             // cout<<" m_r.erase(it);  "<<endl;
        }
        //cout<<" m_r.erase(it);  "<<endl;
    } */
    for (vector<Record>::iterator it = m_r.begin(); it != m_r.end();)
     {
         if(it->getName()==user.getName())
        {
               m_r.erase(it);
         }
         else
         {
             it++;
         }
     }
    saverecord();
    cout<<"删除成功!!!"<<endl;
}

void Admin::freezeuser(User &user)
{
   // cout<<m_u.size()<<endl;
    for (vector<User>::iterator it = m_u.begin(); it != m_u.end();)
    {
        if(it->getName()==user.getName())
        {
             it->setI("dj");
            //cout<<"1111"<<endl;
            break;
        }
        else
        {
            it++;
        }
    }
    cout<<"用户:"<<user.getName()<<"已被dj"<<endl;
}
void Admin::activateuser(User &user)
{
    for (vector<User>::iterator it = m_u.begin(); it != m_u.end();)
    {
        //cout<<"2222"<<endl;
        if(it->getName()==user.getName())
        {
            it->setI("dj");
            //cout<<"1111"<<endl;
            //cout<<it->getI()<<endl;
            break;
        }
        else
        {
            it++;
        }
    }
    cout<<"用户:"<<user.getName()<<"已被激活"<<endl;
}



void testgld()
{
    User user("zs", "333333", "341206");
    User user1("Ding", "111111", "341204");
    User user2("Dss", "222222", "341205");
    Date date(2021, 1, 1);
    Date date1(2021, 2, 2);
    Date date2(2021, 3, 3);
    Date date3(2021, 4, 4);
    //Admin adm(user);
    Admin adm(user1);
    //adm.querybyuser(user1);
    //adm.querybyuser(user2);
    //adm.show();
    //adm.showuser();
    //adm.querybydate(date,date3);
    //adm.querybytype("qq");
    //adm.deleteuser(user1);
    //adm.freezeuser(user1);
    //adm.activateuser(user1);
    //adm.add(user);
}

void test()
{
    User user("zs", "333333", "341206");
    User user1("Ding", "111111", "341204");
    Date date(2021, 1, 1);
    Date date1(2021, 2, 2);
    Date date2(2021, 3, 3);
    Date date3(2021, 4, 4);

    //客户端和管理端不能同时开启,同时开启只有管理端能读取user.txt
    //Admin adm(user1);
    //adm.freezeuser(user1);
    Operator op(user1);
    op.querybytype("qq");
    //op.querybydate(date,date3);
    //op.deposite(1000);

   /* Admin adm(user1);
    adm.activateuser(user1);*/
   //Operator op1(user1,date);
   //op1.deposite(400);
   //op1.drawmoney(1000);
}
int main()
{
    //testDate();
    //testRecord();
    //testUser();
    //testkhd();
    //testgld();
     test();
    return 0;
}

rec


2021
1
1
Ding
cq
800
800


2021
2
2
Ding
cq
10000
10800


2021
2
2
Ding
qq
5000
5800


2021
3
3
Ding
cq
800
6600


2021
3
3
Ding
qq
500
6100


2021
4
4
Ding
cq
800
6900


2021
1
1
Ding
cq
1000
7900


2021
1
1
Ding
qq
500
7400


2018
5
5
Dss
cq
1000
1000


2018
5
5
Dss
qq
500
500


2019
6
6
Dss
cq
10000
10500


2020
7
7
Dss
qq
5000
5500


2021
1
1
zs
cq
400
400


2021
1
1
Ding
cq
400
7800


2021
1
1
Ding
cq
400
8200


2021
1
1
Ding
qq
1000
7200


user


Dss
222222
341205
5500
wdj

zs
333333
341206
400
wdj

Ding
111111
341204
7200
dj

posted @ 2021-10-19 22:42  丁帅帅dss  阅读(72)  评论(0)    收藏  举报