储蓄综合业务平台(代码)

来源:互联网 发布:opencv vibe算法 编辑:程序博客网 时间:2024/05/04 16:08

#include <iostream>#include <cstdio>#include <cstdlib>#include <iomanip>#include <conio.h>#include <string.h>//strcmp,strcpy,strlen#include <fstream>using namespace std;struct Account{    long accNum;//卡号    char Name[9];//用户名    char pass[7];//密码    double balance;//余额    char identity[19];//身份证号    char state[6];//状态(正常,挂失,冻结,销户)};//银行中最大的账户数量#define MAXaccNumBER 2000//银行卡的开号初始值#define INITNUMBER 1001;//银行中所有卡Account array[MAXaccNumBER];//银行中银行卡数量int size=0;void Hello();//欢迎界面void login();//工作人员登录void Mean();//主菜单int searchAcc(long accNum);//寻找卡void Inpass(char[]);//输入密码long autoCreament();//卡状态void Int_identity(char iden[19]);//输入身份证void Yan_pass(int );//密码验证void Acc_Yan(int number);//账户验证void Yan_exchange(int number1,int number2);//转账验证void Yan_dong(int number);//冻结验证void Acc_Inferr(int number);//卡信息int Yan_identify(char g[19]);//身份证验证void Yan_gaimi(int );//验证改密void Yan_gaimii(int );//验证改密次数//功能void Acc_Open();//开户=void Acc_Delete();//销户=void Acc_Inmoney();//存款=void Acc_Outmoney();//取款=void Acc_Infer();//查询=void Acc_exchange();//转账=void Acc_dong();//冻结=void Acc_Ralese();//解冻=void Acc_Gpass();//修改密码=void Exit();//退出=void Find_pass();//找回密码int main(){    Hello();//欢迎界面    login();//工作人员登录    return 0;}//欢迎界面void Hello(){    cout<<"                           +--------------------------+"<<endl;    cout<<"                           +欢迎来到储蓄综合业务平台!+"<<endl;    cout<<"                           +--------------------------+"<<endl;}//工作人员登录void login(){    char name[9],pass[7];    cout<<"请输入工作人员姓名:";    cin>>name;    cout<<endl;    if(strcmp(name,"玲玲")==0)    {        cout<<"请输入密码(三次机会):";        cin>>pass;        cout<<endl;        if(strcmp(pass,"123456")==0)        {            cout<<"登陆成功!"<<endl;            cout<<endl;            cout<<"请按任意键到主菜单:";            cout<<endl;            fflush(stdin);            getchar();            Mean();//主菜单        }        else        {            static int n=0;            ++n;            if(n==2)            {                cout<<"三次机会已用完! 号已被封!"<<endl;                Exit();            }            else            {                cout<<"登录失败!请重新登录!"<<endl;                cout<<endl;                login();            }        }    }    else    {        cout<<"无效工作人员姓名!请重新登录!"<<endl;        cout<<endl;        login();    }}//主菜单void Mean(){    int n;    cout<<"                                     +--------------------------+"<<endl;    cout<<"                                     +  1.开户    |   2.销户    +"<<endl;    cout<<"                                     +  3.存款    |   4.取款    +"<<endl;    cout<<"                                     +  5.查询    |   6.转账    +"<<endl;    cout<<"                                     +  7.改密    |   8.冻结    +"<<endl;    cout<<"                                     +  9.解冻    |  10.退出    +"<<endl;    cout<<"                                     + 11.寻回密码|             +"<<endl;    cout<<"                                     +--------------------------+"<<endl;    cout<<"请选择业务序号:";    fflush(stdin);    cin>>n;    cout<<endl;    switch (n)    {    case 1:        Acc_Open();        break;    case 2:        Acc_Delete();        break;    case 3:        Acc_Inmoney();        break;    case 4:        Acc_Outmoney();        break;    case 5:        Acc_Infer();        break;    case 6:        Acc_exchange();        break;    case 7:        Acc_Gpass();        break;    case 8:        Acc_dong();        break;    case 9:        Acc_Ralese();        break;    case 10:        Exit();        break;    case 11:        Find_pass();        break;    default :        cout<<"选择有误!请重新输入!"<<endl;        cout<<endl;        Mean();    }}//开户void Acc_Open(){    cout<<"请输入姓名:";    cin>>array[size].Name;    cout<<endl;    if(strlen(array[size].Name)>9)    {        cout<<"超出最高长度!"<<endl;        cout<<endl;        cout<<"请按任意键返回!";        fflush(stdin);        getchar();        cout<<endl;        Mean();    }    cout<<"请输入身份证号(18位):";    Int_identity(array[size].identity);    cout<<endl;    Yan_identify(array[size].identity);//身份证    char passs[7]= {0};    cout<<"请输入密码:";    Inpass(array[size].pass);//调用输入密码函数    fflush(stdin);    getchar();    cout<<endl;    cout<<"请再次输入密码:";    Inpass(passs);    fflush(stdin);    getchar();    cout<<endl;    if (strcmp(passs,array[size].pass)==0)    {        cout<<"密码设置成功!"<<endl;        cout<<endl;        cout<<"请存入金额:";        cin>>array[size].balance;        cout<<endl;        if(array[size].balance<=0)        {            cout<<"输入有误!请按任意键返回!";            fflush(stdin);            getchar();            cout<<endl;            Mean();        }        strcpy(array[size].state,"正常");        array[size].accNum=autoCreament();        size++;        cout<<"开户成功!"<<endl;        cout<<endl;        cout<<"您的信息为:"<<endl;        cout<<endl;        Acc_Inferr(autoCreament()-1);        cout<<"请按任意键返回主菜单:";        fflush(stdin);        getchar();        cout<<endl;        Mean();//主菜单    }    else    {        cout<<"密码两次不一致!请重新开户!"<<endl;        cout<<endl;        Acc_Open();    }}//身份证验证int Yan_identify(char g[]){    if(strlen(g)!=18)    {        cout<<"输入位数有误!请正确输入!";        Int_identity(array[size].identity);        Yan_identify(g);        cout<<endl;    }    else    {        return g[19];    }}//查询卡号信息void Acc_Infer(){    cout<<"请输入卡号:";    int number;    cin>>number;    cout<<endl;    Acc_Inferr(number);    cout<<"请按任意键返回主菜单:";    fflush(stdin);    getchar();    cout<<endl;    Mean();//主菜单}//卡讯息void Acc_Inferr(int number){    Account acc;    acc=array[searchAcc(number)];    if(searchAcc(number)==-1)//卡号有误    {        cout<<"卡号不存在,请重新选择您要办理的业务!"<<endl;        Mean();    }    else    {        cout<<"+--------------------------------------------------------------------------------------------------------+"<<endl;        cout<<"+"<<setiosflags(ios::left)<<setw(20)<<"卡号"<<"|"<<setiosflags(ios::left)<<setw(20)<<"身份证号"<<"|"<<setiosflags(ios::left)<<setw(20)<<"用户名"<<"|"<<setiosflags(ios::left)<<setw(20)<<"金额"<<"|"<<setw(20)<<"状态"<<"+"<<endl;        cout<<"+--------------------------------------------------------------------------------------------------------+"<<endl;        cout<<"+"<<setiosflags(ios::left)<<setw(20)<< number<<"|"<<setiosflags(ios::left)<<setw(20)<<acc.identity<<"|"<<setiosflags(ios::left)<<setw(20)<<acc.Name<<"|"<<setiosflags(ios::left)<<setw(20)<<setiosflags(ios::fixed)<<setprecision(2)<<acc.balance<<"|"<<setiosflags(ios::left)<<setw(20)<<acc.state<<"+"<<endl;        cout<<"+--------------------------------------------------------------------------------------------------------+"<<endl;    }    cout<<endl;}//输入密码void Inpass(char pas[7]){    char ch;    int i=0;    while(i<6)    {        ch=getch();        if(ch<='9'&&ch>='0')        {            putch('*');            pas[i]=ch;            i++;        }    }}//销户void Acc_Delete(){    int number;    Account acc;    cout<<"请输入卡号:";    cin>>number;    cout<<endl;    acc=array[searchAcc(number)];    if(searchAcc(number)==-1)//卡号有误    {        cout<<"卡号不存在,请重新选择您要办理的业务!"<<endl;        cout<<endl;        Mean();    }    else    {        char password[7]= {0};        cout<<"请输入密码(三次机会):";        Inpass(password);        fflush(stdin);        getchar();        if (strcmp(acc.pass,password)==0)        {            cout<<"请按任意键表示确认:";            fflush(stdin);            getchar();            cout<<endl;            cout<<"销户成功!"<<endl;            cout<<endl;            strcpy(array[searchAcc(number)].state,"销户");            cout<<"您的信息为:"<<endl;            cout<<endl;            Acc_Inferr(number);            cout<<"请按任意键返回主菜单:";            array[searchAcc(number)].balance=0;            fflush(stdin);            getchar();            cout<<endl;            Mean();        }    }}//存款void Acc_Inmoney(){    int accNum;    double money;    cout<<"请输入卡号:";    cin>>accNum;    cout<<endl;    Acc_Yan(accNum);    cout<<"请输入存款金额:";    cin>>money;    cout<<endl;    if(money<=0)    {        cout<<"输入有误!请按任意键返回!"<<endl;        fflush(stdin);        getchar();        cout<<endl;        Mean();    }    array[searchAcc(accNum)].balance+=money;//找到了该卡号所对应的卡    cout<<"您的余额为:"<<setiosflags(ios::fixed)<<setprecision(2)<<array[searchAcc(accNum)].balance<<"元"<<endl;    cout<<endl;    cout<<"请按任意键退回主菜单"<<endl;    cout<<endl;    fflush(stdin);    getchar();    Mean();}//取款void Acc_Outmoney(){    int number;    cout<<"请输入卡号:";    cin>>number;    cout<<endl;    Acc_Yan(number);    Yan_pass(number);}//取款密码验证void Yan_pass(int number){    char passs[7]= {0};    double money;    static int o=0;    Account acc;    acc=array[searchAcc(number)];    cout<<"请输入密码(三次机会):";    Inpass(passs);    fflush(stdin);    getchar();    cout<<endl;    if (strcmp(passs,acc.pass)==0)    {        cout<<"请输入取款金额:";        cin>>money;        cout<<endl;        if(money<=0)        {            cout<<"输入有误!请按任意键返回!"<<endl;            fflush(stdin);            getchar();            cout<<endl;            Mean();        }        if(acc.balance<money)        {            cout<<"您的余额已不足!"<<'\n'<<"请按任意键返回主菜单";            fflush(stdin);            getchar();            cout<<endl;            Mean();        }        else        {            array[searchAcc(number)].balance=array[searchAcc(number)].balance-money;            cout<<"您的余额为:"<<setiosflags(ios::fixed)<<setprecision(2)<<array[searchAcc(number)].balance<<"元"<<endl;            cout<<endl;            cout<<"请按任意键退回主菜单"<<endl;            fflush(stdin);            getchar();            cout<<endl;            Mean();        }    }    else    {        if(o==2)        {            cout<<"三次机会用完,账号已被冻结!"<<endl;            cout<<endl;            int pos;            pos=searchAcc(number);            strcpy(array[pos].state,"冻结");            cout<<"请按任意键返回主菜单:";            fflush(stdin);            getchar();            cout<<endl;            Mean();        }        else        {            cout<<endl;            cout<<"密码错误!"<<endl;            cout<<endl;            ++o;            Yan_pass(number);        }    }}//冻结void Acc_dong(){    int number;    cout<<"请输入卡号:";    cin>>number;    cout<<endl;    Acc_Yan(number);    Yan_dong(number);    cout<<endl;    cout<<"请按任意键确定冻结:"<<endl;    fflush(stdin);    getchar();    cout<<"冻结成功!"<<endl;    cout<<endl;    strcpy(array[searchAcc(number)].state,"冻结");    cout<<"您的信息为:"<<endl;    cout<<endl;    Acc_Inferr(number);    cout<<"请按任意键返回主菜单:";    fflush(stdin);    getchar();    cout<<endl;    Mean();}//解冻void Acc_Ralese(){    int number;    cout<<"请输入卡号:";    cin>>number;    cout<<endl;    Yan_dong(number);    if(strcmp(array[searchAcc(number)].state,"冻结")!=0)    {        cout<<"该账户未冻结,无需解冻!"<<endl;        cout<<endl;        cout<<"请按任意键返回主菜单:";        cout<<endl;        fflush(stdin);        getchar();        Mean();    }    cout<<"解冻成功!"<<endl;    cout<<endl;    strcpy(array[searchAcc(number)].state,"正常");    cout<<"您的信息为:"<<endl;    cout<<endl;    Acc_Inferr(number);    cout<<"请按任意键返回主菜单:";    cout<<endl;    fflush(stdin);    getchar();    Mean();}//冻结验证void Yan_dong(int number){    static int o=0;    cout<<"请输入密码(三次机会):";    char passs[7];    Account acc;    acc=array[searchAcc(number)];    Inpass(passs);    fflush(stdin);    getchar();    if (strcmp(passs,acc.pass)!=0)    {        if(o==2)        {            cout<<"三次机会用完,账号已被冻结!"<<endl;            cout<<endl;            int pos;            pos=searchAcc(number);            strcpy(array[pos].state,"冻结");            cout<<"请按任意键返回主菜单:";            cout<<endl;            fflush(stdin);            getchar();            Mean();        }        else        {            cout<<endl;            cout<<"密码错误!"<<endl;            cout<<endl;            ++o;            Yan_dong(number);        }    }}//退出void Exit(){    cout<<"已退出!"<<endl;    cout<<endl;    exit(0);}//寻找卡int searchAcc(long accNum){    int i,pos=-1;    for(i=0; i<size; i++)    {        if(array[i].accNum==accNum)//找到了这张卡        {            pos=i;            break;        }    }    return pos;//返回下标}//卡状态long autoCreament(){    if(size==0)    {        return INITNUMBER;    }    else    {        return array[size-1].accNum+1;    }}//输入身份证void Int_identity(char iden[19]){    cin>>iden;}//转账void Acc_exchange(){    int number1,number2,n;    cout<<"请输入您的卡号:";    cin>>number1;    cout<<endl;    Acc_Yan(number1);    cout<<"请输入对方的卡号:";    cin>>number2;    cout<<endl;    if(number1==number2)    {        cout<<"不能给自己转账!按任意键返回主菜单:";        cout<<endl;        Mean();    }    else    {        Acc_Yan(number2);        cout<<"该用户信息为:"<<endl;        cout<<endl;        Acc_Inferr(number2);        cout<<"确定转账请按1,返回主菜单请按2:";        cin>>n;        cout<<endl;        switch(n)        {        case 1:            Yan_exchange(number1,number2);            break;        case 2:            Mean();            break;        default :            cout<<"选择错误!"<<'\n'<<"按任意键返回主菜单:";            fflush(stdin);            getchar();            cout<<endl;            Mean();        }    }}//转账验证void Yan_exchange(int number1,int number2){    char passs[7];    double money;    static int o=0;    Account acc1,acc2;    acc1=array[searchAcc(number1)];    acc2=array[searchAcc(number2)];    cout<<"请输入密码(三次机会):";    Inpass(passs);    fflush(stdin);    getchar();    cout<<endl;    if (strcmp(passs,acc1.pass)==0)    {        cout<<"请输入转账金额:";        cin>>money;        cout<<endl;        if(money<=0)        {            cout<<"输入有误!请按任意键返回!"<<endl;            fflush(stdin);            getchar();            cout<<endl;            Mean();        }        if(acc1.balance<money)        {            cout<<"您的余额已不足!"<<'\n'<<"请按任意键返回主菜单";            fflush(stdin);            getchar();            cout<<endl;            Mean();        }        else        {            array[searchAcc(number1)].balance=acc1.balance-money;            array[searchAcc(number2)].balance=acc2.balance+money;            cout<<"转账成功!"<<endl;            cout<<endl;            cout<<"您的余额为:"<<setiosflags(ios::fixed)<<setprecision(2)<<acc1.balance<<"元"<<endl;            cout<<endl;            cout<<"请按任意键退回主菜单"<<endl;            fflush(stdin);            getchar();            cout<<endl;            Mean();        }    }    else    {        if(o==2)        {            cout<<"三次机会用完,账号已被冻结!"<<endl;            cout<<endl;            strcpy(array[searchAcc(number1)].state,"冻结");            cout<<"请按任意键返回主菜单:";            fflush(stdin);            getchar();            cout<<endl;            Mean();        }        else        {            cout<<endl;            cout<<"密码错误!"<<endl;            cout<<endl;            ++o;            Yan_exchange(number1,number2);        }    }}//账户信息验证void Acc_Yan(int number){    int pos;    pos=searchAcc(number);    if(pos==-1)//卡号有误    {        cout<<"卡号不存在!请重新选择您要办理的业务!"<<endl;        cout<<endl;        Mean();    }    else if(strcmp(array[pos].state,"冻结")==0)    {        cout<<"账户已被冻结!"<<'\n'<<"请重新选择您要办理的业务!"<<endl;        cout<<endl;        Mean();    }    else if(strcmp(array[pos].state,"销户")==0)    {        cout<<"卡号不存在!请重新选择您要办理的业务!"<<endl;        cout<<endl;        Mean();    }}//改密void Acc_Gpass(){    int num;    cout<<"请输入卡号:";    cin>>num;    cout<<endl;    Acc_Yan(num);    Yan_gaimi(num);}//验证改密void Yan_gaimi(int num){    cout<<"请输入密码(三次机会):";    char pass[7];    Inpass(pass);    if(strcmp(array[searchAcc(num)].pass,pass)==0)    {        fflush(stdin);        getchar();        cout<<endl;        cout<<"登陆成功!"<<endl;        cout<<endl;        Yan_gaimii(num);    }    else    {        static int o=0;        if(o==2)        {            cout<<"三次机会用完,账号已被冻结!"<<endl;            cout<<endl;            int pos;            pos=searchAcc(num);            strcpy(array[pos].state,"冻结");            cout<<"请按任意键返回主菜单:";            fflush(stdin);            getchar();            cout<<endl;            Mean();        }        else        {            cout<<endl;            cout<<"密码错误!"<<endl;            cout<<endl;            ++o;            Yan_gaimi(num);        }    }}//验证改密次数void Yan_gaimii(int num){    char passs[7]= {0},passss[7]= {0};    static int l=0;    if(l==2)    {        cout<<"三次机会已用完!改密失败!"<<'\n'<<"请按任意键返回主菜单:";        fflush(stdin);        getchar();        cout<<endl;        Mean();    }    else    {        cout<<"请输入新密码:";        Inpass(passs);        fflush(stdin);        getchar();        cout<<endl;        cout<<"请再输入一次新密码:";        Inpass(passss);        fflush(stdin);        getchar();        cout<<endl;        if(strcmp(passs,passss)!=0)        {            cout<<"两次输入密码不一致!"<<endl;            cout<<endl;            l++;            Yan_gaimii(num);        }        else        {            cout<<"改密成功!"<<endl;            cout<<endl;            strcpy(array[searchAcc(num)].pass,passs);            cout<<"请按任意键返回主菜单:";            fflush(stdin);            getchar();            cout<<endl;            Mean();        }    }}//找回密码void Find_pass(){    char identity[19]= {0};    int number;    cout<<"请输入卡号:";    cin>>number;    cout<<endl;    Acc_Yan(number);    cout<<"请输入身份证号:";    Int_identity(identity);    cout<<endl;    cout<<identity;

    if(strcmp(array[searchAcc(number)].identity,identity)==0)    {        cout<<"身份验证成功!"<<endl;        cout<<endl;        cout<<"您的密码为:"<<array[searchAcc(number)].pass<<endl;        cout<<endl;        cout<<"请按任意键返回主菜单:";        fflush(stdin);        getchar();        cout<<endl;        Mean();    }    else    {        cout<<"身份验证失败!按任意键返回主菜单:";        fflush(stdin);        getchar();        cout<<endl;        Mean();    }}

 

 

2013.12.26
原创粉丝点击