银行多文件系统

来源:互联网 发布:淘宝小二怎么联系 编辑:程序博客网 时间:2024/06/10 05:06
01.//文件:bank.cpp   02.#include<iostream>      03.using namespace std;   04.int account1=123;  05.int pwd1=123456;  06.double balance1=1000;  07.  08.//用全局变量保存当前登录的帐户   09.int currentAccount;  10.  11.//声明自定义函数   12.int checkStatus();  13.void work();  14.  15.int main()    16.{    17.    int status;  18.    char ch;  19.    cout<<"贺家银行欢迎您光临……(本系统目前只有一个用户,帐号123,初始密码123456)"<<endl;  20.    while(1)  //支持用户多次登录办理业务   21.    {  22.        status=checkStatus();  23.        if(1==status)  24.            work();  25.        else if(2==status)  26.            cout<<"欢迎下次光临……"<<endl;  27.        else  28.            cout<<"吞卡,请联系就近网点解决……"<<endl;  29.        cout<<"=====要退出系统,请按键Q,其他键继续下一位用户登录======"<<endl;  30.        fflush( stdin );  //清空输入缓冲区,否则getchar()自动获得   31.        ch=getchar();  32.        if(ch=='q'||ch=='Q')break;  33.    }  34.      35.    return 0;  36.}  //文件:bank.cpp#include<iostream>   using namespace std; int account1=123;int pwd1=123456;double balance1=1000;//用全局变量保存当前登录的帐户int currentAccount;//声明自定义函数int checkStatus();void work();int main()  {  int status;char ch;cout<<"贺家银行欢迎您光临……(本系统目前只有一个用户,帐号123,初始密码123456)"<<endl;while(1)  //支持用户多次登录办理业务{status=checkStatus();if(1==status)work();else if(2==status)cout<<"欢迎下次光临……"<<endl;elsecout<<"吞卡,请联系就近网点解决……"<<endl;cout<<"=====要退出系统,请按键Q,其他键继续下一位用户登录======"<<endl;fflush( stdin );  //清空输入缓冲区,否则getchar()自动获得ch=getchar();if(ch=='q'||ch=='Q')break;}return 0;}[cpp] view plaincopyprint?01.//文件 password.cpp,有关密码的功能   02.#include<iostream>      03.using namespace std;   04.  05.//在本文件中需要的函数声明   06.int checkStatus();  07.void updatePassword();  08.  09.//外部全局变量   10.extern int account1;  11.extern int pwd1;  12.extern double balance1;  13.extern int currentAccount;  14.  15./*检验密码 16.*在很多的应用程序中,需要涉及到运行实体的“状态” 17.*相比上一个版密码校验的函数pass(),其返回值:通过-true; 不通过-false 18.*这个方案用checkStatus()可以返回更多的信息(状态) 19.*返回值约定: 20.1 - 用户名、密码正确,可以进一步工作 21.2 - 用户名放弃登录正常退出 22.3 - 三次登录失败吞卡后退出 23.*/  24.int checkStatus()  25.{  26.    int iStatus=3;      //默认吞卡的结局   27.    int iPass;  28.    int num=1;  29.    char goOn;  30.    cout<<"请输入帐户";  31.    cin>>currentAccount;  //currentAccount是全局变量   32.    do  33.    {     34.        if(num==1)  35.            cout<<"请输入密码";  36.        else  37.        {  38.            cout<<"温情提示:这是您第"<<num<<"次输入密码,三次不对将吞卡。"<<endl;  39.            cout<<"还要继续尝试吗(继续输入Y,退出输入N,之后回车):";  40.            cin>>goOn;  41.            if('Y'==goOn||'y'==goOn)  42.                cout<<"请再次输入密码";  43.            else  44.            {  45.                iStatus=2; //用户放弃登录   46.                break;  47.            }  48.        }  49.        cin>>iPass;  50.        num++;  51.        if(currentAccount==account1&&iPass==pwd1)   //帐户   52.        {  53.            iStatus=1;  //密码对了   54.            break;  55.        }  56.    }while(num<4);  //密码不正确且次数在允许范围内循环   57.    //如果在循环因为num==4为真而退出,iStatus的值还保持初始3,代表吞卡   58.    return iStatus; //返回状态   59.}  60.  61.void updatePassword()  62.{  63.    int p1,p2;  64.    if(currentAccount==account1)   //确定帐户,目前只有一个帐户,真银行不这样,待改进   65.    {  66.        cout << "请输入新密码:";  67.        cin >> p1;    68.        cout << "请确认新密码:";  69.        cin >> p2;    70.        if(p1==p2)//两次输入相符   71.        {  72.            pwd1=p1;     73.            cout<<"密码修改成功!"<<endl;  74.        }  75.        else  76.        {  77.            cout<<"两次输入不一致,密码修改失败。"<<endl;  78.        }  79.    }  80.}  //文件 password.cpp,有关密码的功能#include<iostream>   using namespace std; //在本文件中需要的函数声明int checkStatus();void updatePassword();//外部全局变量extern int account1;extern int pwd1;extern double balance1;extern int currentAccount;/*检验密码*在很多的应用程序中,需要涉及到运行实体的“状态”*相比上一个版密码校验的函数pass(),其返回值:通过-true; 不通过-false*这个方案用checkStatus()可以返回更多的信息(状态)*返回值约定:1 - 用户名、密码正确,可以进一步工作2 - 用户名放弃登录正常退出3 - 三次登录失败吞卡后退出*/int checkStatus(){int iStatus=3;//默认吞卡的结局int iPass;int num=1;char goOn;cout<<"请输入帐户";cin>>currentAccount;  //currentAccount是全局变量do{if(num==1)cout<<"请输入密码";else{cout<<"温情提示:这是您第"<<num<<"次输入密码,三次不对将吞卡。"<<endl;cout<<"还要继续尝试吗(继续输入Y,退出输入N,之后回车):";cin>>goOn;if('Y'==goOn||'y'==goOn)cout<<"请再次输入密码";else{iStatus=2; //用户放弃登录break;}}cin>>iPass;num++;if(currentAccount==account1&&iPass==pwd1)   //帐户{iStatus=1;  //密码对了break;}}while(num<4);  //密码不正确且次数在允许范围内循环//如果在循环因为num==4为真而退出,iStatus的值还保持初始3,代表吞卡return iStatus; //返回状态}void updatePassword(){int p1,p2;if(currentAccount==account1)   //确定帐户,目前只有一个帐户,真银行不这样,待改进{cout << "请输入新密码:";cin >> p1;  cout << "请确认新密码:";cin >> p2;  if(p1==p2)//两次输入相符{pwd1=p1;   cout<<"密码修改成功!"<<endl;}else{cout<<"两次输入不一致,密码修改失败。"<<endl;}}}[cpp] view plaincopyprint?01.//文件 money.cpp,有关存、取、转款的函数定义   02.#include<iostream>      03.using namespace std;   04.  05.//外部全局变量   06.extern int account1;  07.extern int pwd1;  08.extern double balance1;  09.extern int currentAccount;  10.  11.//在本文件中需要的函数声明   12.void showbalance();  13.void drawmoney();  14.void deposit();  15.void transferAccounts();  16.void updatePassword();  17.  18.//处理业务   19.void work()  20.{  21.    char cChoice;  22.    bool bExit = false;  23.    do    24.    {    25.        cout<<endl<<"*  您可以办理下面的业务:"<<endl;    26.        cout<<"*  1.查询"<<endl;    27.        cout<<"*  2.取款"<<endl;    28.        cout<<"*  3.存款"<<endl;  29.        cout<<"*  4.转账"<<endl;  30.        cout<<"*  5.修改密码"<<endl;  31.        cout<<"*  0.退出"<<endl;    32.        cout<<"*  请输入(0-4):";    33.        cin>>cChoice;  34.        switch(cChoice)  35.        {  36.        case '1':  37.            showbalance();  38.            break;    39.        case '2':  40.            drawmoney();  41.            break;    42.        case '3':  43.            deposit();  44.            break;    45.        case '4':  46.            transferAccounts();  47.            break;    48.        case '5':  49.            updatePassword();  50.            break;    51.        case '0':  52.            cout<<"欢迎您下次来存款. "<<endl;  53.            bExit=true;  54.        }         55.    }while(!bExit);    56.    return;  57.}  58.  59.//查询余额   60.void showbalance()  61.{  62.    if(currentAccount==account1)   //确定帐户,目前只有一个帐户,真银行不这样,待改进   63.        cout<<"您的当前余额是:"<<balance1<<"元"<<endl;  64.}  65.  66.//取款   67.void drawmoney()  68.{    69.    double money;    70.    if(currentAccount==account1)   //确定帐户,目前只有一个帐户,真银行不这样,待改进   71.    {  72.        cout << "请输入取款金额:";    73.        cin >> money;    74.        //下面不计利息了,从现在起,我们的银行只提供银行卡业务,是定期统一计息的   75.        if(money<=balance1)  76.        {  77.            balance1-=money; //取款成功   78.            cout<<"取款后,您的余额是:"<<balance1<<"元。"<<endl;  79.        }  80.        else  81.        {  82.            cout<<"您的余额不足,取款失败。"<<endl;  83.        }  84.    }  85.}     86.//存款   87.void deposit()  88.{  89.    double money;    90.    if(currentAccount==account1)   //确定帐户,目前只有一个帐户,真银行不这样,待改进   91.    {  92.        cout << "请输入存款金额:";    93.        cin >> money;    94.        //下面不计利息了,从现在起,我们的银行只提供银行卡业务,是定期统一计息的   95.        balance1+=money; //取款成功   96.        cout<<"存款后,您的余额是:"<<balance1<<"元。"<<endl;  97.    }  98.}  99.  100.//转帐   101.void transferAccounts()  102.{  103.    double money;    104.    int iAccount2;  105.    if(currentAccount==account1)   //确定帐户,目前只有一个帐户,真银行不这样,待改进   106.    {  107.        cout << "请输入转帐金额:";  108.        cin >> money;    109.        cout << "请输入对方帐户:";  110.        cin >> iAccount2; //应该判断对方帐户的有效性再转账,暂时不做,待以后改进     111.          112.        if(money<=balance1)  113.        {  114.            balance1-=money; //取款成功   115.            //此处应该为对方帐户增加余额,暂时略   116.            cout<<"转账后,您的余额是:"<<balance1<<"元。"<<endl;  117.        }  118.        else  119.        {  120.            cout<<"您的余额不足,转账失败。"<<endl;  121.        }  122.    }  123.}             
     现在看不太明白,以后留着再看