詳細解析C++編寫的ATM自動取款機模擬程序

字號:

學習c++有一段時間了,前兩天有個朋友要我?guī)退鰝€模擬ATM自動取款機的程序,于是花了一個晚上寫了出來,其實這個程序也很簡單,但是我覺得它對于剛學c++的人來說比較有用處,因為它可以幫助你更加深刻的理解面向對象程序設計的真諦-------以現(xiàn)實世界為模型編寫程序。學習c++的真正目的也就在于此,真正的理解面向對象程序設計!
    // ************************************
     // * *
     // * function.h *
     // * *
     // ************************************
     #include
     class consumer;
     class ATM
     // ATM取款機
     {
     public:
     ATM(consumer& cn):cnsm(cn)
     {
     }
     void welcome();
     // 登陸界面
     bool check_passwd(char n[],char pwd[]);
     // 核對密碼
     void change_passwd();
     // 修改密碼
     void fetchmoney();
     // 取款
     void information();
     // 查詢信息
     void exitATM();
     // 退出系統(tǒng)
     void functionshow();
     // 功能界面
     void lock();
     // 鎖機
     private:
     int times;
     // 記錄密碼輸入次數(shù)
     consumer& cnsm;
     };
     class consumer
     // 用戶
     {
     public:
     friend class ATM;
     consumer(char Name[],char Num[],
     float Money,char Password[]);
     protected:
     char* get_name();
     // 取得姓名
     char* get_num();
     // 取得卡號
     char* get_passwd();
     // 取得密碼
     float get_money();
     // 取得余額
     void set_passwd(char pwd[]);
     // 設置密碼
     void set_money(float m);
     // 取錢
     private:
     char passwd[8];
     // 用戶密碼
     char name[20];
     // 用戶姓名
     char num[20];
     float money;
     };
    // ************************************
     // * *
     // * consumer類的成員函數(shù) *
     // * *
     // ************************************
     #include"function.h"
     #include
     consumer::consumer(char Name[],
     char Num[],float Money,char Password[])
     {
     strcpy(name,Name);
     strcpy(num,Num);
     money=Money;
     strcpy(passwd,Password);
     }
     float consumer::get_money()
     {
     return money;
     }
     char* consumer::get_name()
     {
     return name;
     }
     char* consumer::get_num()
     {
     return num;
     }
     char* consumer::get_passwd()
     {
     return passwd;
     }
     void consumer::set_money(float m)
     {
     money-=m;
     }
     void consumer::set_passwd(char pwd[])
     {
     strcpy(passwd,pwd);
     }