C++第12週プロジェクト5.2——銀行システム関数版

5366 ワード

コースのトップページは次のとおりです.http://blog.csdn.net/sxhelijian/article/details/11890759
【プロジェクト5-銀行システム】これは私たちがしなければならない本当のプロジェクトです!関連する技術はすべて使いましたが、プログラムは本当に長いです.勉强の中で、いつも达成感がほしいです.あなたが何かをしたことがないとき、いつも学んだ知識が何ができるか分からない.学習の過程で、似たようなプロジェクトを完成して、それはとてもクールなことで、私たちにもっと情熱を持たせます.心の準備をしておくと、中には難しいかもしれませんが、落ち着いて完成できると信じています.プロジェクトをするには、皆さんの生活実践と結びつけたほうがいいと思います.また、私たちの授業と同期することもできます.両方を結合して、銀行を開いて、ATMを作りましょう.もしATMを使ったことがなければ、まずあなたの銀行カードで一度お金を取りに行きましょう.私たちはまずカードを挿入して、パスワードを入力します.純粋なソフトウェアシミュレーションをして、私たちはカードリーダーを持っていません.いいでしょう.カードはもう挿入されたと思います.みんなが少しずつできるように、私はその中の仕事を分解しようとして、私たちは次第に改善して、“増量式”に仕事を完成します.任務を終えるたびに、このような成長段階を記録するブログを送ることができます.
タスク2:関数の導入によるプログラム構造の改善
各業務はそれぞれ1つの関数を作成して完成する.提示機能メニュー(1.照会、2.引き出し、3.預金、4.振替、5.改密、0.退出)後、ユーザーが機能選択を入力し、switchマルチブランチで対応する機能を完了する.
  • 入力1(クエリー)、関数showbalance()を呼び出し、「残高はxxxx.xx元です.」
  • を表示します.
  • 入力2(引き出し)、drawmoney()を呼び出し、引き出しを完了します.引き出し金額を入力する必要があります.残高が足りない場合は、引き出しができないことを示すプロンプトが表示されます.そうしないと、勘定科目の残高が減少します.お金を引き出した後にヒントを与えます:“あなたの残高はまだXXX.XX元があります.”実際の業務では、計算の問題にも関連しています.この問題はしばらく考慮しないで、開拓の提案として、ここで利息を計算することを考慮することができます.
  • 入力3(預金):deposit()を呼び出し、預金を完了し、残高が増加します(中毒でしょう、いくら貯金したいですか).预金后提示:あなたの残高はXXX.XX元です.
  • 入力4(転記):transferAccounts()を呼び出し、転記を完了し、転出機能のみをサポートします.相手口座番号と振替金額を入力することを要求し、金額が十分であれば、振替を完了し、現在の口座の残高が減少し、相手口座の残高が増加する.本題は1つのアカウントしかないので、相手のアカウントの増加操作は先にしません.
  • 入力5(改密):updatePassword()を呼び出してパスワードを変更します.古いパスワードを入力してから秘密を変更するように要求します.新しいパスワードは2回入力する必要があります.2回が完全に同じ場合にのみ変更を完了できます.
  • 0を入力すると、「ありがとうございます.また来てください.」と表示され、ループを終了し、呼び出し関数に戻ります.
  • 入力は0-5ではありません.
    参考解答:
    #include<iostream>
    using namespace std;
    int password = 123456;
    double balance = 10000;
     
    bool pass();
    void work();
    void showbalance();
    void drawmoney();
    void deposit();
    void transferAccounts();
    void updatePassword();
     
    int main()
    {
        cout<<"         ……"<<endl;
        if(pass())
            work();
        else
            cout<<"    ,      ……"<<endl;
        return 0;
    }
     
    //    
    //   :  -true;    -false
    bool pass()
    {
        bool bPass=false;   //      ,        true
        int iPass;
        int num=1;
        do
        {
            cout<<"     ";
            if(num>1)
                cout<<"(  :   "<<num<<"     ,       )";
            cin>>iPass;
            num++;
            if(iPass==password)
                bPass=true;
        }
        while(!bPass&&num<4);   //              
        return bPass;  //     true,    ,  ……
    }
     
    //    
    void work()
    {
        char cChoice;
        bool bExit = false;
        do
        {
            cout<<endl<<"*            :"<<endl;
            cout<<"*  1.     2.    3.    4.    5.    0.  "<<endl;
            cout<<"*     (0-5):";
            cin>>cChoice;
            switch(cChoice)
            {
            case '1':
                showbalance();
                break;
            case '2':
                drawmoney();
                break;
            case '3':
                deposit();
                break;
            case '4':
                transferAccounts();
                break;
            case '5':
                updatePassword();
                break;
            case '0':
                cout<<"        . "<<endl;
                bExit=true;
            }
        }
        while(!bExit);
        return;
    }
     
    //    
    void showbalance()
    {
        cout<<"       :"<<balance<<" "<<endl;
    }
     
    //  
    void drawmoney()
    {
        double money;
     
        cout << "       :";
        cin >> money;
        //       ,    ,             ,     
        if(money<=balance)
        {
            balance-=money; //    
            cout<<"   ,     :"<<balance<<" 。"<<endl;
        }
        else
        {
            cout<<"      ,    。"<<endl;
        }
     
    }
    //  
    void deposit()
    {
        double money;
        cout << "       :";
        cin >> money;
        //       ,    ,             ,        
        balance+=money; //    
        cout<<"   ,     :"<<balance<<" 。"<<endl;
    }
     
    //  
    void transferAccounts()
    {
        double money;
        int iAccount2;
        cout << "       :";
        cin >> money;
        cout << "       :";
        cin >> iAccount2; //               ,    ,     
     
        if(money<=balance)
        {
            balance-=money; //    
            //             ,   
            cout<<"  "<<iAccount2<<" ,     :"<<balance<<" 。"<<endl;
        }
        else
        {
            cout<<"      ,    。"<<endl;
        }
    }
     
    void updatePassword()
    {
        int p1,p2;
        cout << "      :";
        cin >> p1;
        if(p1!=password)
        {
            cout<<"        ,       。"<<endl;
        }
        else
        {
            cout << "      :";
            cin >> p1;
            cout << "      :";
            cin >> p2;
            if(p1==p2)//      
            {
                password=p1;
                cout<<"      !"<<endl;
            }
            else
            {
                cout<<"       ,      。"<<endl;
            }
        }
    }

    ====================================
    |==  IT学子成長指導コラム記事分類目録(不定期更新)=|
    |==C++教室オンラインコラム賀利堅課程教育リンク(課程別)=|
    ======== IT菜鳥のために滑走路を敷き、学生と一緒に楽しみと情熱を楽しむ大学======