文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发C/C++详细解析C++编写的ATM自动取款机模拟程序
精品推荐
特别推荐
·C语言编程易犯毛病集合
·C语言编程常见问题解答(目录)
·C#程序开发中的常用函数汇总
·C/C++笔试、面试题目大汇总
·Beej的网络socket编程指南
·socket编程原理
·C语言的常用库函数使用方法分析及用途
·在C语言中如何处理时间和日期
·C++设计模式之Singleton
·VC++动态链接库编程之MFC扩展 DLL
热点TOP10
·进程和线程编程
·C语言编程易犯毛病集合
·打字游戏
·Awk 基础入门:Awk 实例编程
·asp.net中调用javascript函数实现多功能日期控件示例
·C语言编程常见问题解答之常用函数的包含文件(1)
·C# GridView 排序及分页
·C #中的几个线程同步对象方法
·无废话C#设计模式之三:Abstract Factory
·C# DataGridView隔行显示不同的颜色

详细解析C++编写的ATM自动取款机模拟程序

日期:2008年6月3日 作者: 查看:[大字体 中字体 小字体]



  学习c++有一段时间了,前两天有个朋友要我帮她做个模拟ATM自动取款机的程序,于是花了一个晚上写了出来,其实这个程序也很简单,但是我觉得它对于刚学c++的人来说比较有用处,因为它可以帮助你更加深刻的理解面向对象程序设计的真谛-------以现实世界为模型编写程序。学习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();    

 // 退出系统

 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;

};


// ************************************

// *                                  *

// *     consumer类的成员函数         *

// *                                  *

// ************************************ 



#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);

}


// ************************************

// *                                  *

// *          ATM类的成员函数         *

// *                                  *

// ************************************ 





#include "function.h"

#include 

#include



void ATM::welcome()

{

 times=0;

 cout<<"$ 

 欢迎使用若雪银行ATM自动取款机!~!

 "<\\";

     cin>>n;

     while(n<1n>4)

  {

      cout<<"请输入正确的操作序号!"<\\";

      cin>>n;

  }

  

     switch(n)

  {

      case 1:   change_passwd();

  break;

      case 2:   fetchmoney(); 

  break;

      case 3:   information(); 

  break;

      case 4:   exitATM();  

  break;   

  }



   }while(true);



 



}



void ATM::change_passwd()

{

 char pwd[8],repwd[8];

 

 times=0;

 do

 {

 cout<>pwd;

    if(!check_passwd(cnsm.get_num(),pwd))

  times++;

 else

  break;

 }while(times<3);



 if(times==3)

  lock();

    

 int t=0;

    do

 {

  cout<<"请输入新密码:";

  cin>>pwd;

  cout<<"请再输入一次新密码:";

  cin>>repwd;

  if((t=strcmp(pwd,repwd))!=0)

   cout<<"你输入的两次密码不一样,

   请重新输入!"<\\"<>m;

      while(m<=0)

   {

    cout<<"请输入正确的数字!"<\\ ";

    cin>>m;

   }



      if(cnsm.get_money()-m<0)

   {

     cout<<"对不起,你的余额不足!"

 <\\ ";

   cin>>ch;

   while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')

  {

     cout<<"$ >\\";

     cin>>ch;

  }



   }while(ch=='y'ch=='Y');



}



void ATM::information()

{

 cout<<"**********************************"<


[1] [2] 下一页 




上一篇:限次使用新法

下一篇:橡皮筋画线法

相关文章:
·最详细的黑客入门法则
·模拟城市4秘籍
·Windows系统进程列表完全解析
·[宠物]问道宝宝,肉盾,法宠,攻宠全面解析
·英雄传说4:朱红的泪 详细攻略 - 游戏攻略
·添加或删除启动时自动运行的程序
·制作全自动Windows XP 64位安装光盘(1)
·《龙珠-悟空的遗产2》详细攻略 - 龙珠Z攻略秘籍
·[战神]详细流程攻略 - 战神攻略秘籍 - 战神
·详细图解TP-Link无线路由配置
相关软件:
·模拟城市3000(Sim City 3000)简体中文版
·C语言程序设计
·NDS《逆转裁判4 完美汉化简体中文版》模拟器
·整形模拟软件_非常face V1.0
·Windows环境下32位汇编语言程序设计
·GHOST全自动备份还原系统光盘V3.0
·《铁拳5》模拟器
·模拟人生 2
·《拳皇97》加强版 风云再起 模拟器
·零起点教你如何破解软件和制作注册机 and 视频+程序

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot