小银行系统

来源:互联网 发布:seo搜索引擎优化方案 编辑:程序博客网 时间:2024/04/29 10:47
#include <iostream>#include <string.h>#include <stdio.h>#include <iomanip>using namespace std;//银行中最大的账户数量#define MAXACCOUNTNUMBER 20000//银行卡的开号初始值#define INITNUMBER 10001struct Account{    long accNumber;   //卡号    char accName[20]; //户主    char accPwd[10];  //密码    double balance;   //余额    char flag[6];     //卡的状态};//银行中所有卡Account array[MAXACCOUNTNUMBER];//银行中银行卡数量int size=0;//欢迎界面void welcome();//主界面void mainFrame();//生成银行中自增卡号long autoCreament();//开户void openAccount();//存款void deposit();//输出指定卡的信息void printAccount(Account acc);//根据卡号查找卡在数组中的下标int searchAccount(long accNumber);int main(){    char loginName[20];    char loginPwd[20];    int i;    //欢迎界面    welcome();    //..    for(i=0;i<3;i++)    {        cout<<"请输入用户名:";        cin>>loginName;        cout<<"请输入密码:";        cin>>loginPwd;        if(strcmp(loginName,"admin")==0&&strcmp(loginPwd,"admin")==0)        {            mainFrame();            break;        }else{            cout<<"用户名或密码输入错误"<<endl;        }    }    return 0;}void welcome(){    cout<<"+----------------------------------+"<<endl;    cout<<"|-------欢迎登陆银行系统-----------|"<<endl;    cout<<"+----------------------------------+"<<endl;}void mainFrame(){   int order;   cout<<"|----------------------------|"<<endl;   cout<<"|-------1.开户---------------|"<<endl;   cout<<"|-------2.存款---------------|"<<endl;   cout<<"|-------3.取款---------------|"<<endl;   cout<<"|-------4.销户---------------|"<<endl;   cout<<"|-------5.查询---------------|"<<endl;   cout<<"|-------6.退出---------------|"<<endl;   cout<<"|----------------------------|"<<endl;   cout<<"请输入操作指令"<<endl;   cin>>order;   switch(order){       case 1:            openAccount();            break;       case 2:            deposit();            break;       case 3:            break;       default:            break;   }}void openAccount(){    cout<<"请输入户主:";    cin>>array[size].accName;    cout<<"请输入密码:";    cin>>array[size].accPwd;    cout<<"请输入金额:";    cin>>array[size].balance;    //..    strcpy(array[size].flag,"正常");    //写卡号    array[size].accNumber=autoCreament();    printAccount(array[size]);    size++;    cout<<"开户成功,按任意键返回"<<endl;    fflush(stdin);    getchar();    mainFrame();}long autoCreament(){    if(size==0){        return INITNUMBER;    }else{        return array[size-1].accNumber+1;    }}//输出指定卡的信息void printAccount(Account acc){    cout<<"|----------------------------------------|"<<endl;    cout<<setiosflags(ios::left)<<"|"<<setw(8)<<"卡号"<<setw(8)<<"户主"<<setw(8)<<"密码"<<setw(8)<<"金额"<<setw(8)<<"状态"<<"|"<<endl;    cout<<setiosflags(ios::left)<<"+----------------------------------------+"<<endl;    cout<<setiosflags(ios::left)<<"|"<<setw(8)<<acc.accNumber<<setw(8)<<acc.accName<<setw(8)<<acc.accPwd<<setw(8)<<acc.balance<<setw(8)<<acc.flag<<"|"<<endl;    cout<<"|----------------------------------------|"<<endl;}/*根据卡号查找卡的下标* 若返回值>=0,卡号是正确* 若返回值=-1,卡号有误*/int searchAccount(long accNumber){    int i,pos=-1;    for(i=0;i<size;i++){        if(array[i].accNumber==accNumber){            //找到了这张卡            pos=i;            break;        }    }    return pos;}void deposit(){    long accNum;//存款的账号    double money;//存款的金额    int pos;    cout<<"请输入存款的账号:";    cin>>accNum;    cout<<"请输入存款金额:";    cin>>money;    pos=searchAccount(accNum);    if(pos==-1){        //卡号有误        cout<<"卡号不存在,请重新输入卡号"<<endl;        //...        deposit();    }else{        //展示下存款前卡的信息        cout<<"存款前卡的信息:"<<endl;        printAccount(array[pos]);        //找到了该卡号所对应的卡        array[pos].balance+=money;         //展示存款后卡的信息        cout<<"存款后卡的信息:"<<endl;        printAccount(array[pos]);        cout<<"存款成功,按任意键返回"<<endl;        fflush(stdin);        getchar();        mainFrame();    }}

原创粉丝点击