學(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);
}
// ************************************
// * *
// * 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);
}