师创年终任务-银行系统(终结版)

来源:互联网 发布:mac上数据库管理软件 编辑:程序博客网 时间:2024/05/17 09:08
#include <iostream>#include<string.h>#include<iomanip>#include <stdio.h>using namespace std;//银行中最大的账户数量#define MAXACCOUNTNUMBER 20000//银行卡的开号初始值#define INITNUMBER 10001;struct Account{    long accNumber;   //卡号    char accName[20]; //户主    char accPwd[10];  //密码    double balance;   //余额    char flag[6];     //卡的状态};//银行中所有卡Account array[MAXACCOUNTNUMBER];//银行中银行卡数量int size=0;//生成银行中自增卡号long autoCreament();//欢迎界面void welcome();//登陆界面void login();//主界面void work();//存款界面void depositmoney();//取款界面void drawmoney();//查询界面void showbalance();//开户界面void openaccount();//销户界面void closeaccount();//根据卡号查询指定的账户所在的下标int searchAccount(long accNumber);//个人信息的输出void putout(Account acc);//退出界面void exit();int main(){welcome();login();    return 0;}void welcome(){    cout<<"+----------------------------------+"<<endl;    cout<<"|                                  |"<<endl;    cout<<"|                                  |"<<endl;    cout<<"|     欢迎使用储蓄综合业务平台     |"<<endl;    cout<<"|                                  |"<<endl;    cout<<"|                                  |"<<endl;    cout<<"+----------------------------------+"<<endl;}void login(){    int i=0;    char bankname[10]="admin";char bankpassword[10]="admin";for(i=0;i<3;i++){cout<<"请输入用户名:";char name[10]={0};cin>>name;cout<<"请输入密码:";char password[10]={0};cin>>password;if (strcmp(bankname,name)!=0||strcmp(bankpassword,password)!=0){if(i==2){cout<<"您输入的错误次数太多,不允许继续操作!"<<endl;break;}cout<<"用户名或则密码错误请重新输入:" <<endl;}else{work();break;}}}void work(){int cChoice;cout<<"+----------------------------------+"<<endl;cout<<"|                                  |"<<endl;cout<<"|   存款 请按1        开户 请按4   |"<<endl;cout<<"|   取款 请按2        销户 请按5   |"<<endl;cout<<"|   查询 请按3        退出 请按0   |"<<endl;cout<<"|                                  |"<<endl;cout<<"+----------------------------------+"<<endl;cout<<"请输入您的选择(0-5):";cin>>cChoice;switch(cChoice){case 1:depositmoney();break;case 2:drawmoney();break;case 3:showbalance();break;case 4:openaccount();break;case 5:closeaccount();break;case 0:exit();break;}return;}void depositmoney(){cout<<"+----------------------------------+"<<endl;cout<<"                                    "<<endl;cout<<"          欢迎进入存款系统          "<<endl;cout<<"                                    "<<endl;cout<<"+----------------------------------+"<<endl;    long accNum;//存款的账号    double money;//存款的金额    int pos;    cout<<"请输入存款的账号:";    cin>>accNum;cout<<"请输入存款金额:";cin>>money;    pos=searchAccount(accNum);if(pos==-1){        //卡号有误        cout<<"卡号不存在,请重新输入卡号"<<endl;        depositmoney();    }else{        //展示下存款前卡的信息        cout<<"存款前卡的信息:"<<endl;putout(array[pos]);        //找到了该卡号所对应的卡        array[pos].balance+=money;//展示存款后卡的信息        cout<<"存款后卡的信息:"<<endl;putout(array[pos]);        cout<<"存款成功,按任意键返回"<<endl;        fflush(stdin);        getchar();        work();}}void drawmoney(){    cout<<"+----------------------------------+"<<endl;cout<<"                                    "<<endl;cout<<"          欢迎进入取款系统          "<<endl;cout<<"                                    "<<endl;cout<<"+----------------------------------+"<<endl;long accNum;//存款的账号    double money;//存款的金额    int pos;char wrd[20]={0};    cout<<"请输入取款的账号:";    cin>>accNum;    cout<<"请输入账号密码:";cin>>wrd;    cout<<"请输入取款金额:";    cin>>money;    pos=searchAccount(accNum);    if(pos==-1){        //卡号有误        cout<<"卡号不存在,请重新输入卡号"<<endl;        drawmoney();    }else{if(strcmp(array[pos].accPwd,wrd)!=0){cout<<"您输入的密码有误!"<<endl;depositmoney();}else{//展示取款前卡的信息cout<<"取款前卡的信息:"<<endl;putout(array[pos]);//找到了该卡号所对应的卡array[pos].balance-=money;if(array[pos].balance<=0){cout<<"对不起,您的余额不足!"<<endl;work();}else{//展示取款后卡的信息cout<<"取款后卡的信息:"<<endl;putout(array[pos]);cout<<"取款成功,按任意键返回"<<endl;fflush(stdin);getchar();work();}}}}void showbalance(){    cout<<"+----------------------------------+"<<endl;cout<<"                                    "<<endl;cout<<"          欢迎进入查询系统          "<<endl;cout<<"                                    "<<endl;cout<<"+----------------------------------+"<<endl;    int pos;long accNum;char wrd[20]={0};    cout<<"请输入查询的账号:";    cin>>accNum;cout<<"请输入账号密码:";cin>>wrd;    pos=searchAccount(accNum);if(pos==-1){        //卡号有误        cout<<"卡号不存在,请重新输入卡号!"<<endl;showbalance();    }else{if(strcmp(array[pos].accPwd,wrd)!=0){cout<<"您输入的密码有误!"<<endl;showbalance();}else{//展示下卡的信息cout<<"您的银行卡的信息:"<<endl;putout(array[pos]);cout<<"按任意键返回"<<endl;fflush(stdin);getchar();work();}}}void openaccount(){cout<<"+----------------------------------+"<<endl;cout<<"                                    "<<endl;cout<<"          欢迎进入开户系统          "<<endl;cout<<"                                    "<<endl;cout<<"+----------------------------------+"<<endl;cout<<"请输入户名:";    cin>>array[size].accName;    cout<<"请输入密码:";    cin>>array[size].accPwd;    cout<<"请输入金额:";    cin>>array[size].balance;    strcpy(array[size].flag,"正常");    array[size].accNumber=autoCreament();    putout(array[size]);size++;    cout<<"开户成功,按任意键返回"<<endl;    fflush(stdin);//清除缓存区    getchar();//任意键返回    work();}void closeaccount(){    cout<<"+----------------------------------+"<<endl;cout<<"                                    "<<endl;cout<<"          欢迎进入销户系统          "<<endl;cout<<"                                    "<<endl;cout<<"+----------------------------------+"<<endl;long accNum;    int pos;char wrd[20]={0};int userAnswer;    cout<<"请输入您要销户的账号:";    cin>>accNum;    cout<<"请输入账号密码:";cin>>wrd;    pos=searchAccount(accNum);    if(pos==-1){        //卡号有误        cout<<"卡号不存在,请重新输入卡号"<<endl;closeaccount();    }else{if(strcmp(array[pos].accPwd,wrd)!=0){cout<<"您输入的密码有误!"<<endl;closeaccount();}else{cout<<"确认注销此账户?"<<endl;cout<<"1.销户..其他.不销户";cin>>userAnswer;if(userAnswer==1){array[pos].balance=0;strcpy(array[pos].flag,"销户");cout<<"销户已成功,按任意键返回!"<<endl;putout(array[pos]);fflush(stdin);//清除缓存区getchar();//任意键返回work();}else{cout<<"您已取消销户,按任意键返回"<<endl;fflush(stdin);//清除缓存区getchar();//任意键返回work();}}}}long autoCreament(){if(size==0){return INITNUMBER;}else{return array[size-1].accNumber+1;}}void exit(){cout<<"欢迎您下次办理银行储蓄综合业务!"<<endl;}void putout(Account acc){    cout<<"+--------------------------------------------+"<<endl;cout<<"|"<<setiosflags(ios::left)<<setw(8)<<"账号"<<"|"<<setiosflags(ios::left)<<setw(8)<<"户名"<<"|"<<setiosflags(ios::left)<<setw(8)<<"密码"<<"|"<<setiosflags(ios::left)<<setw(8)<<"余额"<<"|"<<setiosflags(ios::left)<<setw(8)<<"状态"<<"|"<<endl;cout<<"+--------------------------------------------+"<<endl;cout<<"|"<<setiosflags(ios::left)<<setw(8)<<acc.accNumber<<"|"<<setiosflags(ios::left)<<setw(8)<<acc.accName<<"|"<<setiosflags(ios::left)<<setw(8)<<acc.accPwd<<"|"<<setiosflags(ios::left)<<setw(8)<<acc.balance<<"|"<<setiosflags(ios::left)<<setw(8)<<acc.flag<<"|"<<endl;    cout<<"+--------------------------------------------+"<<endl;}int searchAccount(long accNumber){    int i,pos=-1;    for(i=0;i<size;i++){        if(array[i].accNumber==accNumber){            //找到了这张卡            pos=i;            break;        }    }    return pos;//返回下标}

原创粉丝点击