学习c++有一段时间了,前两天有个朋友要我帮她做个模拟ATM自动取款机的程序,于是花了一个晚上写了出来,其实这个程序也很简单,但是我觉得它对于刚学c++的人来说比较有用处,因为它可以帮助你更加深刻的理解面向对象程序设计的真谛-------以现实世界为模型编写程序。学习c++的真正目的也就在于此,真正的理解面向对象程序设计!
// ************************************// * *// * function.h*// * *// ************************************ #includeclass 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(); // 退出系统 void functionshow(); // 功能界面 void lock(); // 锁机private: int times; // 记录密码输入次数 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;};
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)// ************************************// * *// * consumer类的成员函数 *// * *// ************************************ #include"function.h"#includeconsumer::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);}
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)// ************************************// * *// * ATM类的成员函数 *// * *// ************************************ #include "function.h"#include#include
void ATM::welcome(){ times=0; cout<<"$ 欢迎使用若雪银行ATM自动取款机!~! "<<endl; char pwd[8],num[20],ch; int i=0; do { i=0; cout<<endl<<"请输入卡号:";do{ cin.get(ch); num[i++]=ch;}while(ch!='');num[i-1]='