詳細(xì)解析C++編寫的ATM自動(dòng)取款機(jī)模擬程序

字號(hào):

學(xué)習(xí)c++有一段時(shí)間了,前兩天有個(gè)朋友要我?guī)退鰝€(gè)模擬ATM自動(dòng)取款機(jī)的程序,于是花了一個(gè)晚上寫了出來,其實(shí)這個(gè)程序也很簡(jiǎn)單,但是我覺得它對(duì)于剛學(xué)c++的人來說比較有用處,因?yàn)樗梢詭椭愀由羁痰睦斫饷嫦驅(qū)ο蟪绦蛟O(shè)計(jì)的真諦-------以現(xiàn)實(shí)世界為模型編寫程序。學(xué)習(xí)c++的真正目的也就在于此,真正的理解面向?qū)ο蟪绦蛟O(shè)計(jì)!
    // ************************************
     // * *
     // * function.h *
     // * *
     // ************************************
     #include
     class consumer;
     class ATM
     // ATM取款機(jī)
     {
     public:
     ATM(consumer& cn):cnsm(cn)
     {
     }
     void welcome();
     // 登陸界面
     bool check_passwd(char n[],char pwd[]);
     // 核對(duì)密碼
     void change_passwd();
     // 修改密碼
     void fetchmoney();
     // 取款
     void information();
     // 查詢信息
     void exitATM();
     // 退出系統(tǒng)
     void functionshow();
     // 功能界面
     void lock();
     // 鎖機(jī)
     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();
     // 取得卡號(hào)
     char* get_passwd();
     // 取得密碼
     float get_money();
     // 取得余額
     void set_passwd(char pwd[]);
     // 設(shè)置密碼
     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);
     }