C++模拟ATM机存取款管理系统设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入。
存款功能要求用户不能输入负值的金额,用if语句判断,若符合
条件,则成功取款,并且用savemoney()函数更新余额,余额为账
9
ATM存款:不能出现负存款。
修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,
只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以
成功修改密码。
1
第二章设计内容
12.29功能:
设计一个模拟ATM柜员机的程序,输入你需要的操作(选择相对
的括号里的阿拉伯数字)程序具体功能有:
(1)查询余额
cin>>newpassword;
if(newpassword.size()>=6)
{
for(i=0;i<newpassword.size();i++)
{
for(j=i+1;j<newpassword.size();j++)
{
if(newpassword[i]==newpassword[j])
{
count++;
主界面
输入卡号、密码
退出系统查询余额修改密码
取款存款
4
第四章详细设计
12.33类的设计
设计了两个类,ATM类和face类。ATM类完成ATM柜员机的模拟,
包括:验证卡号密码,查询余额,修改密码,取款,存款,退出系统
等功能。face类完成显示登陆界面的功能,显示查询余额,修改密
码,取款,存款,退出系统的选项。
5、如需下载其他头文件(例如DirectX需另行配置),本文会在此进行说明。
6、本文撰写内容仅供学习参考,另外,由于本人水平有限,编写之处难免存在错误和纰漏,
恳请各位老师或同学批评指正。
《面向对象程序设计》课程设计报告书
设计题目:模拟ATM机存取款管理系统设计
指导老师:
学生班级:
学生学号:
学生姓名:
flag=1;
}
}
}
else
{
cout<<"修改密码失败,请重新修改"<<endl;
}
} else
{
cout<<"修改密码失败,请重新修改"<<endl;
}
}
else
{
cout<<"修改密码失败,请重新修改"<<endl;
}
}
12.36ATM柜员机存款取款功能
输入正确卡号密码后,即可登录柜员机主界面,其中可以选择取
第一章概述
使用ATM柜员机可以节约人力资源,方便用户进行简单常用的操
作,并且为用户全天候的服务,提高银行效率,给人们提供了非常大
的便利。
本文就以C++语言设计一项简单的模拟ATM柜员机程序。
运行程序时,当输入给定的卡号和密码(初始卡号和密码都为
123456)后,系统就能登录ATM柜员机系统,用户可以进入功能实现
温馨提示
程序语言:C、C++、C#、Python(红色字体表示本课设使用的程序设计语言)
图形功能选项:Win32控制台程序(黑框、文本界面)、Win32程序、MFC、WinForm、DirectX10
(黑体标明表示本课设的程序图形类别,默认为非图形界面Win32控制台程序)
数据结构:基础类型、数组、链表、双向链表、搜索树(非平衡二叉树)、平衡二叉树、链表与
(5)锁卡功能:实现卡被锁的功能。
(6)退卡功能:实现退出系统功能。
二、设计原始资料
三、设计完成后提交的成果及其相关资料。
四、主要参考资料
《c++程序设计(第二版)》
五、进程安排
12.25:类的设计
12.26:模块4.2、4.3的设计
12.27:模块4.4、4.5的设计
12.28:完成课程设计报告
0
同组人员:
时间:2017.12.
课程设计任务书
题目模拟ATM机存取款管理系统设计
一、设计内容及要求
(1)卡号、密码输入最多三次,否则直接退出系统。
(2)取款功能:取款金额受卡余额、机单笔最大取款金额及机当前
剩余金额的限制。
(3)查询功能:实现查询余额功能。
(4)更改密码:实现密码更改功能,对于密码要有2次验证。
12.31模块化设计
为实现系统功能,本程序主要分为六个模块。它们分别为:主界
面、查询余额、ATM取款、ATM存款、修改密码、退出系统。这六个
函数再通过主函数调用分别得以实现。
主函数,首先提供了程序运行时的友好界面,提供客户选择的菜
单。然后,通过执行多分支选择语句——switch语句,分别实现其
它各个函数的调用功能。
{
times++;
lock();
cout<<"卡号或密码有误,请重新输入"<<endl;
}
else
{
break;
}
}
return1;
}
12.35ATM柜员机修改密码功能
新密码长度不小于6位,不允许出现6位完全相同的情况,只有
旧密码正确,新密码符合要求,且两次输入相同的情况下才能成功修
改密码。
输入正确卡号密码后,或者实现其他功能退回主界面后都可以选
intcount=0,i,j,flag=1;
stringsecondpassword;
stringnewpassword;
stringoldpassword;
cout<<"请输入旧密码:"; cin>>oldpassword;
if(password==oldpassword)
{
cout<<"请输入新密码:";
择柜员机的修改密码功能,在运行过程中先要求用户输入旧密码,判
断用户输入的旧密码是否与默认密码相同,若相同则继续运行,若不
7
同则需要重新输入。验证旧密码正确后系统会要求用户定义新密码,
新密码要重复输入两次,要求两次必须重复正确且新密码符合要求才
能修改成功。
相关代码:
voidATM::change()
{
界面,有查询余额,取款,存款,修改密码等功能。
设计要点:使用文本命令行界面。当输入给定的卡号和密码(初始卡
号和密码为123456)时,系统能登录ATM柜员机系统,用Байду номын сангаас可以按
照以下规则进行:
查询余额:初始余额为10000元
ATM取款:每次取款金额为100的倍数,总额不超过5000元,支
取金额不允许透支。
平衡二叉树相结合、堆栈、队列、串、图(黑体标明表示本课设使用的数据结构)
C++语言项:STL库(黑体标明表示使用C++的STL库)
编译环境:Windows 7 64位旗舰版(Linux及其他环境请谨慎下载)
集成开发环境:Visual C++ 6.0、DEVC++、CodeBlocks、Visual Studio 2015均可通过编译。(浅蓝
其它各个函数的功能分别如下:
ATM()构造函数
face()构造函数
checkout()检验卡号密码
lock()锁卡
checkmoney()查询余额
getmoney()ATM取款
savemoney()ATM存款
change()修改密码
exitsystem()退出系统
show()打印界面
3
12.32 程序运行示意图
(2)ATM取款
(3)ATM存款
(4)修改密码
(5)退出系统
12.30操作:
本程序通过键盘操作。在运行过程中,当用户输入正确的账号和
密码时,会出现一个功能界面,按照功能界面操作。只需输入所需操
作的序号,便可执行其中相应的功能。但是需要小心的是如果输错密
码三次,便会锁卡,这时将无法操作。
2
第三章总体设计
voidlock();//锁卡
voidcheckmoney();//查询余额
voidgetmoney();//取款
voidsavemoney();//存款
5
voidchange();//修改密码
voidexitsystem();//退出系统
};
face类的设计
classface : publicATM
色字体表示需要运行修改后的版本,请用户自行选择源代码测试)
分多头文件编译:否(所有代码基本都包含在一个文件内,如需试验头文件功能,请自行参考
相关文献)
内容说明:
1、课设题目及预览内容将在第二页开始展示。
2、代码行数:241行
3、目录所示内容,本文基本涵盖,如无内容,会在本页进行说明。
4、附录绝对包含用户使用手册及程序完整源代码和详细注释。
ATM类的设计:
classATM
{
protected:
stringcard;
stringpassword;
floatmoney; staticinttimes;
public:
ATM(stringc, stringp,floatm)//构造函数
{
card=c;
password=p;
money=m;
}
intcheckout();//验证卡号密码
即可进入主界面,选择ATM柜员机的功能。
程序运行首先要求用户输入卡号和密码,卡号和密码首先由main
主函数构造默认,然后用checkout()函数判断卡号密码是否一致,
一致则登陆,如果连续3次输入错误,则用lock()函数锁定卡号
密码。
相关代码:
voidATM::lock()
{
if(times==3)
}
}
}
if(count<6)
{
while(flag)
{
cout<<"请再次输入新密码:";
cin>>secondpassword;
if(newpassword==secondpassword)
{
cout<<"密码修改成功!"<<endl;
flag=0; }
else
{
8
cout<<"两次密码输入不一样,请重新输入"<<endl;
{
protected:
intx;
public:
face(stringc,stringp, floatm):ATM(c,p,m)//构造函数
{
}
voidshow();//显示界面
};
12.34ATM柜员机的登陆
在main主函数中实例化一个face类的对象,卡号密码都为
123456,默认余额为10000.在程序运行中输入卡号密码,若都正确
{
6
cout<<"输入密码3次错误,该卡已被锁"<<endl;
exitsystem();
}
}
intATM::checkout()
{
stringa;
stringb;
while(1)
{
cout<<"请输入您的卡号:"; cin>>a;
cout<<"请输入您的密码:";
cin>>b;
if(card!=a||password!=b)
款,存款功能。
取款功能要求用户输入取钱金额,取钱功能用if语句判断金额是
否是100的倍数且金额是否大于5000或小于0,若符合要求,则顺
利运行。用getmoney()函数实现更新用户余额,余额为账户余额减
去取钱金额,当取钱成功时,系统会提示用户是否继续取钱,若输入
“Y”则继续,若输入“N”则退回主界面,若输入其他字符则要重新
相关文档
最新文档