会员卡系统

来源:互联网 发布:sql通用查询器 编辑:程序博客网 时间:2024/04/27 15:17

很久之前写的小作业

#include<iostream>#include<string>#include<cstring>#include<cstdio>#include<vector>#include<cmath>using namespace std;class RMB {protected:    int yuan,jiao,fen;    bool mark; // >0 ture ;  <0 false ;public:    RMB(int y=0,int j=0,int f=0,bool m=false)    {        yuan=y;        jiao=j;        fen=f;        mark=m;    }    RMB(double n=0)    {        if(n>=0)            mark=true;        else            mark=false;        yuan=(int) (n);        jiao=((int)(n*10))%10;        fen=((int)(n*100))%10;    }    void setRMB(double n)    {        if(n>=0)            mark=true;        else        {            mark=false;            n=-n;        }        yuan=(int)(n);        jiao=((int)(n*10))%10;        fen=((int)(n*100))%10;    }    void printrmb()    {        cout<<yuan<<"元"<<jiao<<"角"<<fen<<"分";    }    double doublermb()    {        return yuan+0.1*jiao+fen*0.01;    }    friend ostream & operator<<(ostream&,RMB&);};ostream & operator << (ostream & output,RMB& obj){    if(!obj.mark) cout<<"-";    output<<obj.yuan<<"元"<<obj.jiao<<"角"<<obj.fen<<"分";    return output;}class member {protected:    string name;    int num,password;    long long tel;    static int totalnum;public:    member(string pname="costumers",int pas=123456,long long int t=0)    {        name=pname;        num=totalnum++;        num++;        password=pas;        tel=t;    }    void setmember(string pname="costumers",int pas=123456,long long int t=0)    {        name=pname;        password=pas;        tel=t;    }    double gettotalnum()    {        return totalnum;    }    void printmember();    ~member();};int member::totalnum=0;void member::printmember(){    cout<<"编号:"<<num<<"\t姓名:"<<name<<"\t电话:"<<tel<<endl;}member::~member(){}class membercard : public RMB,public member{    static double totaladd;    static double totalminus;public:    membercard(string pname="costumers",int pas=123456,long long int t=0,double money=0):RMB(money),member(pname,pas,t)    {        totaladd+=money;    }    void setmembercard(string pname="costumers",int pas=123456,long long int t=0,double money=0)    {        setmember(pname,pas,t);        setRMB(money);        totaladd+=money;    }    void addmoney(double n=0)    {        double tt=doublermb()+n;        yuan=(int)(tt);        jiao=((int)(tt*10))%10;        fen=((int)(tt*100))%10;        totaladd+=n;        RMB temp(n);        cout<<"充值成功!本次充值:\t";        cout<<temp;        cout<<endl;        cout<<"账户余额:\t";        printrmb(); cout<<endl;    }    void minusmoney(double n=0)    {        int pas;        cout<<"请输入密码:"<<endl;        cin>>pas;        while(password!=pas)        {cout<<"密码错误!请重新输入!"<<endl; cin>>pas;}        if(doublermb()>=n)        {            totalminus+=n;            double tt=doublermb()-n;            yuan=(int)(tt);            jiao=((int)(tt*10))%10;            fen=((int)(tt*100))%10;            RMB temp(n);            cout<<"本次消费:"<<temp<<endl<<"账户余额:";            printrmb(); cout<<endl;        }        else            cout<<"账户余额不足!"<<endl;    }    void changepassword()    {        int pas;        cout<<"请输入原始密码:"<<endl;        cin>>pas;        while(password!=pas)        {            cout<<"密码错误!请重新输入!"<<endl;            cin>>pas;        }        cout<<"请输入新密码:"<<endl;        cin>>pas;        password=pas;        cout<<"修改成功!"<<endl;    }    double gettotaladd(){return totaladd;}    double gettotalminus(){return totalminus;}};double membercard::totaladd=0;double membercard::totalminus=0;vector<membercard>person;void work1(){    string name; int pass; long long int phone; double mon;    membercard people;    cout<<"新建第"<<(people.gettotalnum())<<"个会员:"<<endl;    cout<<"请输入姓名:\t";    cin>>name; cout<<endl;    cout<<"请输入密码(6位数字):\t";    cin>>pass; cout<<endl;    cout<<"请输入电话:\t";    cin>>phone; cout<<endl;    cout<<"请输入充值金额:\t";    cin>>mon; cout<<endl;    people.setmembercard(name,pass,phone,mon);    person.push_back(people);    cout<<"创建成功,账户余额:\t";    people.printrmb(); cout<<endl;}void work2(){    int number;    double money;    cout<<"请输入您的编号:\t";    cin>>number; cout<<endl;    while(number>person.size()||number<=0)    {        cout<<"编号不存在!请重新输入!"<<endl;        cin>>number;    }    number--;    cout<<"个人信息:\t";    person[number].printmember();    cout<<"请输入充值金额:\t";    cin>>money; cout<<endl;    person[number].addmoney(money);}void work3(){    int number;    double money;    cout<<"请输入您的编号:\t";    cin>>number; cout<<endl;    while(number>person.size()||number<=0)    {        cout<<"编号不存在!请重新输入!"<<endl;        cin>>number;    }    number--;    cout<<"个人信息:\t";    person[number].printmember();    cout<<"请输入消费金额:\t";    cin>>money;    person[number].minusmoney(money);}void work4(){    int number;    cout<<"请输入您的编号:\t";    cin>>number;cout<<endl;    while(number>person.size()||number<=0)    {        cout<<"编号不存在!请重新输入!"<<endl;        cin>>number;    }    number--;    cout<<"个人信息:\t";    person[number].printmember();    person[number].changepassword();}void work5(){    int number;    cout<<"请输入您的编号:\t";    cin>>number;cout<<endl;    while(number>person.size()||number<=0)    {        cout<<"编号不存在!请重新输入!"<<endl;        cin>>number;    }    number--;    cout<<"个人信息:\t";    person[number].printmember();    cout<<"账户余额:\t";    person[number].printrmb(); cout<<endl;}void work6(){    cout<<"当前会员数为:\t"<<person[0].gettotalnum()<<endl;    cout<<"当前充值总金额为:\t"<<person[0].gettotaladd()<<endl;    cout<<"当前消费总金额为:\t"<<person[0].gettotalminus()<<endl;}int main(){    //freopen("aaa","r",stdin);    int cas=1;    while(cas)    {        cout<<"请选择操作(1:新建会员,2:已有会员充值,3.已有会员消费,4.已有会员修改密码,5.已有会员余额查询,6.输出当前店会员数和营业额,0.退出):"<<endl;        cin>>cas;        switch(cas)        {            case 1: work1(); break;            case 2: work2(); break;            case 3: work3(); break;            case 4: work4(); break;            case 5: work5(); break;            case 6: work6(); break;            case 0: break;        }    }    return 0;}


阅读全文
0 0