ATM机银行管理系统C++程序_第1页
ATM机银行管理系统C++程序_第2页
ATM机银行管理系统C++程序_第3页
ATM机银行管理系统C++程序_第4页
ATM机银行管理系统C++程序_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 C+程序设计课程项目设计 项目设计题目:基于ATM自动取款机的程序设计 学号: 姓名: 牛徳号 自评成绩: 成绩: 目录C+程序设计课程项目设计01.项目意义及依据22.系统功能模块定义说明23.涉及的主要知识点说明24.创新性说明35.运行结果与分析97.待解决的问题14 1.项目意义及依据 自动取款机又称ATM,是Automatic Teller Machine的缩写,意思是自动柜员机,因大部分用于取款,又称自动取款机。 它是一种高度精密的机电一体化装置,利用磁性代码卡或智能卡实现金融交易的自助服务,代替银行柜面人员的工作。可提取现金、查询存款余额、进行账户之间资金划拨、余额查询等工作;

2、还可以进行现金存款、支票存款、存折补登、中间业务等工作。持卡人可以使用信用卡或储蓄卡,根据密码办理自动取款、查询余额、转账、现金存款,存折补登,购买基金,更改密码,缴纳手机话费等业务。 随着当今科技的快速发展,ATM机越来越接方便我们的日常生活需求,但是大部分人不清楚它的具体操作,通过本程序的源代码及其执行结果,使我们对自动取款机的工作步骤有所了解。 2.系统功能模块定义说明void welcome(); 登陆界面函数void show(); 功能界面函数 void set_passwd(char pwd);/设置密码函数bool check_passwd(char n,char pwd);

3、核对密码函数void information(); 查询信息显示函数void change_passwd(); 修改密码函数void qumoney(); 取款函数 void set_money(float m); 定义取钱数目函数void lock(); 锁取款机函数void exitATM(); 退出系统函数void lock(); 锁取款机函数3.涉及的主要知识点说明1、 输入输出流的运用2、 函数的定义与调用3、 类的运用4、 While语句的正确的使用5、 Swich多路分支的合理选择6、 Bool类型定义与使用7、 指针的运用4.创新性说明 为了用户信用卡安全问题,新增加并定义了v

4、oid lock()函数,此函数用来锁AYM取款机,用以防止非法用户因多次对密码的不正确输入而产生不必要的损失。5.源代码 #include#include#include/using namespace std;/加为注释则正确/*class consumer;class ATM / ATM取款机及用户类的定义public:/各种操作 ATM(consumer& cn):cnsm(cn) void welcome(); / 登陆界面 bool check_passwd(char n,char pwd);/ tureORfalse核对密码则定义BOOL类型 void change_passwd

5、(); / 修改密码 void qumoney(); / 取款 void information(); / 查询信息 / 退出系统 void show(); / 功能界面 void exitATM(); 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(); /

6、取得姓名 char* get_num(); / 取得卡号 char* get_passwd();/ 取得密码 float get_money(); / 取得余额 void set_passwd(char pwd);/ 设置密码 void set_money(float m); / 取钱private: /私有 char passwd8;/ 用户密码 char name20; / 用户姓名 char num20; float money;/* consumer:consumer(char Name,char Num,float Money,char Password)/用户 strcpy(nam

7、e,Name); strcpy(num,Num); money=Money; strcpy(passwd,Password);/*姓名*char* consumer:get_name() return name;/*char* consumer:get_num() return num;/*密码*char* consumer:get_passwd() return passwd;/*float consumer:get_money() return money;/*void consumer:set_passwd(char pwd) strcpy(passwd,pwd);/*void cons

8、umer:set_money(float m) money-=m; /*05.18进入取款机系统*void ATM:welcome() times=0;/输入密码的次数 cout$欢迎使用曲阜师范大学银行ATM自动取款机!endl; char pwd8,num20,ch; int i=0; do i=0; coutendl请输入卡号:; do cin.get(ch); numi+=ch; while(ch!=n);/“确定”键结束 numi-1=0; i=0; cout请输入密码:; do cin.get(ch); pwdi+=ch; while(ch!=n);/“确定”键结束 pwdi-1=

9、0; if(!check_passwd(num,pwd) cout输入的卡号或密码有误,请重新输入endl; times+; else show(); while(times3); lock();/次数超过3次,需要锁卡/*0523*bool ATM:check_passwd(char num,char pwd) if(strcmp(num,cnsm.get_num()=0&strcmp(pwd,cnsm.get_passwd()=0) return true; else return false;/*05.25修改密码* void ATM:change_passwd() char pwd8,

10、repwd8; times=0; do coutendlpwd; if(!check_passwd(cnsm.get_num(),pwd) times+; else break; while(times3); if(times=3) lock(); int t=0; do coutpwd; coutrepwd; if(t=strcmp(pwd,repwd)!=0) cout你输入的两次密码不一样,请重新输入!endl; while(t!=0); cnsm.set_passwd(pwd); cout密码修改成功,请牢记!endl;/*05.30取钱*void ATM:qumoney() floa

11、t m; char ch; do coutendl你要取多少钱:m; while(m=0) cout请输入正确的数字!endl; coutm; if(cnsm.get_money()-m0) cout对不起,你的余额不足!endl; else coutendl操作成功,请收好钱!endl; cnsm.set_money(m);/ cout是否要继续操作:(Y/N) endl; coutch; while(ch!=n&ch!=N&ch!=Y&ch!=y)/不分大小写字母 coutch; while(ch=y|ch=Y);/*06.04用户信息* void ATM:information() co

12、ut*endl; cout*endl; cout* 用户姓名:cnsm.get_name()endl; cout* 卡号: cnsm.get_num()endl; cout* 余额: cnsm.get_money()endl; cout*endl;/*06.06目录*void ATM:show() int n; do coutendl请你输入相应的操作序号进行操作:endl; cout1) 修改密码 endl 2) 取款 endl 3) 查询余额 endl 4) 退出系统 endl; cout; cinn; while(n4) cout请输入正确的操作序号!endl; coutn; switc

13、h(n) case 1: change_passwd(); break; case 2: qumoney(); break; case 3: information(); break; case 4: exitATM(); break; while(true);/* void ATM:lock() coutendl对不起,由于你的操作有误,你的卡已经被没收! endl; exit(1);/*void ATM:exitATM() coutendl谢谢使用,欢迎下次光临!endl; cout请取出您的卡endl; exit(0);/*void main() consumer c1(牛徳号,52000.3f,123);/ 先写入一个用户 ATM atm(c1); atm.welcome();6.运行结果与分析以上为账号和密码匹配时进入系统的结果以上为退出系统的结果以上为正确输入密码并选择取款并且按4退出系统的结果以上为程序全部可能性的结果以上为正确输入密码并选择1修改的结果查看用户余额的结果取款超过余额的现象结果7.待解决的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论