基于C++语言编程设计开发的银行ATM自助取款机——毕业设计学位论文范文模板参考资料
摘 要
演示程序时,初始卡号和密码为123456,系统能登录ATM柜员机系统,进入功能界面,根据功能界面的提示,然后由用户进行相应的功能操作。本程序使用C++语言,操作时,使用文本命令行界面。该程序还需要一些改进,就是没有采用图形菜单界面。
关键词:登陆界面 修改密码 取款 查询信息 功能界面
目录
摘 要 ........................................................................................................ I 目录 .......................................................................................................... II 第一章 需求分析 .................................................................................... 1
1.1功能:................................................................................................... 1
1.2操作:................................................................................................... 1 第二章 总体设计 ................................................................................... 2
2.1 模拟ATM柜员机程序功能图............................................................... 2
2.2 整个程序的
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图 .............................................................................. 3 第三章 详细设计与实现 ....................................................................... 4
3.1 类的设计 .............................................................................................. 4
3.2 ATM柜员机的登陆 ............................................................................... 5
3.3 ATM柜员机修改密码功能 ................................................................... 5
3.4 ATM柜员机取款存款功能 ................................................................... 6
3.5 ATM柜员机查询余额功能 ................................................................... 7 第四章 测试 ........................................................................................... 8
4.1程序开始运行的界面 ........................................................................... 8
4.2 正确输入帐号密码后的界面............................................................... 9
4.3 取钱成功后的界面 ............................................................................... 9
4.4 程序结束时的界面 ............................................................................. 10 参考文献 ................................................................................................. 11
第一章 需求分析
1.1功能:
(1)模拟ATM柜员机程序;
(2)修改密码。当用户需要修改密码时,可以用这个功能,新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
(3)取款。用户根据自己需要取多少钱,输入要取的金额,每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
(4)查询余额。用户需要知道自己帐户还剩多少钱时,可以查询自己帐户的余额。
(5)存款。用户可以存款,不能出现负存款。
(6)锁机。当用户3次输入密码错误时,会自动吞卡。
1.2操作:
本程序通过键盘操作。在运行过程中,当用户输入正确的账号和密码时,会出现一个功能界面,按照功能界面操作。1.修改密码;2. 取款;3. 存款;4. 查询余额;5. 退出系统,按相应的序列号后再按enter键,执行相应的操作。
1
第二章 总体设计
2.1 模拟ATM柜员机程序功能图
模拟ATM柜员机程序
ATM功能类 consumer用户类 (登陆界面) (获得姓名) (核对密码) (获得卡号) (修改密码) (获得密码) (取款) (获得余额) (存款) (设置密码) (查询信息)
(退出系统)
(锁机)
图 2.2 功能图
2
2.2 整个程序的流程图
图 2.3 主程序流程图
程序开始运行进入登陆界面,用户输入自己的卡号和密码,成功登陆即
3
能进入功能界面,如果用户卡号密码错误超过3次,系统会自动没收卡,根据功能界面,用户可以执行相应的操作,操作完毕,退出系统。
第三章 详细设计与实现 3.1 类的设计
设计了两个类,ATM类 和consumer类。ATM类完成自动柜员机的模拟,包括:显示登陆界面、验证卡号密码、修改密码、取款、存款、显示所插卡信息、退出系统等功能。Consumer
类完成银行卡的模拟,包括设置姓名、卡号、密码、余额等信息。类的定义和实现均保存在
头文件atm.h文件中。
ATM类的设计
class ATM // ATM功能类
{
public:
ATM(consumer& cn):cnsm(cn)
{
}
void welcome(); // 登陆界面
bool check_passwd(char n[],char pwd[]);// 核对密码
void change_passwd(); // 修改密码
void fetchmoney(); // 取款
void getmoney();//存款
void information(); // 查询信息
void exitATM(); // 退出系统
void functionshow();// 功能界面
void lock(); // 锁机
private:
int times; // 记录密码输入次数
consumer& cnsm;
};
consumer用户类的设计
class consumer// 用户类
{
public:
friend class ATM; //声明类ATM为consumer的友元类
consumer(char Name[],char Num[],float Money,char Password[]);/*构造函数,
建立账户*/
protected:
char* get_name(); // 获得姓名
char* get_kahao(); // 获得卡号
4
char* get_passwd();// 获得密码
float get_money(); // 获得余额
float getmoney(float gm);//存款
void set_passwd(char pwd[]);// 设置密码
void set_money(float m);// 取钱
private:
char passwd[10];// 用户密码
char name[20]; // 用户姓名
char kahao[20]; //用户卡号
float money;//用户余额
};
3.2 ATM柜员机的登陆
在main主函数中实例化一个consumer类的对象,构造用户名是何志群,账号和密码都为123456,默认余额为10000。在程序运行中输入账号密码正确即可登陆主界面,选择ATM柜员机的功能。
程序运行首先要求用户输入账号密码,帐号密码首先由main主函数构造默认,用strcmp函数判断账号密码是否一致,一致允许登陆,如果输入错误则再给予3次登陆机会,如果3次都输入错误,则用lock()函数锁定账号密码。
相关代码:
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;
}
3.3 ATM柜员机修改密码功能
新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。
输入正确账户密码后,或者实现其他功能退回主界面后都可以选择柜员机的修改密码功能,该功能首先定义了一个chenk_passwsd函数提取用户默认账号密码,在运行过程中现要求用户输入旧密码,用strcmp函数判断用户输入的旧密码是否和默认密码相同,若相同则继续运行,若不同则再给予两次输入机会,3
5
次都输入错的时候调用lock函数锁定帐户密码。输入旧密码争取后系统会要求用户定义新密码,新密码要重复输入两次,要求两次必须重复正确且新秘密大于等于6位数才能修改成功,用了do-while循环处理改项功能。
修改密码流程图:
输入旧密码
否
重新输入旧密码 密码正确?
是 是
输入新密码 密码正确,
否 否 否 新密码符合要求?
超过3次,
是
是 再次输入新密码
密码修改不成功 否
2次输入一样,
是
密码修改成功
3.4 ATM柜员机取款存款功能
输入正确账号密码后,即可登陆柜员机主界面,其中可以选择取款和存款功能。
取款功能要求用户输入取钱金额,取钱功能用了两个if语句判断用户输入金额是否100的倍数(只允许取100的整数倍),判断输入金额是否小于等于5000(最多允许取5000元),如果判断都为真,则顺利运行,用fecthmony函数实现更新用户余额,余额为默认账户余额减去取钱金额,单次取钱功能顺利实现时,
6
会提示用户时候继续实现取钱功能,若输入“Y/y”则继续进行,若输入“N/n”则退回程序主见面。
存款功能要求用户输入不能为负值的金额,用if语句判断,符合条件,即可成功存款。
存款功能实现代码:
void ATM::getmoney()//存款
{
float gm;//存入的金额
char ch;
do
{
cout<
\\"<>gm;
if(gm<=0)
{
cout<<"不能出现负存款,请输入正确的数字!"<\\ ";
cin>>gm;
}
else
{
cout<\\ ";
cin>>ch;
while(ch!='n'&&ch!='N'&&ch!='Y'&&ch!='y')
{
cout<<"$ >\\";
cin>>ch;
}
}while(ch=='y'||ch=='Y');
}
3.5 ATM柜员机查询余额功能
输入正确账号密码后,即可登陆柜员机主界面,其中可以选择查询余额功能功能。用户姓名主要是调用用户类的cnsm.get_name()函数,卡号主要调用用户类的cnsm.get_kahao()函数,余额主要调用用户类的cnsm.get_money()函数。 代码如下:
void ATM::information()// 查询信息
{cout<<"**********************************"<
本文档为【基于C++语言编程设计开发的银行ATM自助取款机——毕业设计学位论文范文模板参考资料】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。