ATM自动取款机程序的设计说明Word格式文档下载.docx
- 文档编号:4256924
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:28
- 大小:333.06KB
ATM自动取款机程序的设计说明Word格式文档下载.docx
《ATM自动取款机程序的设计说明Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《ATM自动取款机程序的设计说明Word格式文档下载.docx(28页珍藏版)》请在冰点文库上搜索。
《面向对象程序设计(A)课程设计》任务书
一、课程设计任务及要求:
任务:
针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完成从需求分析、系统设计、系统实现,软件测试的全过程。
要求:
(1)根据软件系统开发的一般原则,完成相应系统的功能设计,完成主要功能模块的程序实现并进行测试训练,给出代码运行结果和相应的设计文档。
可以分组进行,但所有学生必须经历整个系统的开发全过程,以便加深对系统开发全过程的认识。
(2)提交课程设计报告。
(3)指标:
要求完成课程设计报告3000字以上(约二十页);
完成所设计的题目,设计题目的语句行数的和在200行语句以上。
二、工作量
2周(10个工作日)时间
三、计划安排
第1个工作日:
查找相关资料、书籍,阅读示例文档,选择题目。
第2个工作日-第4个工作日:
设计程序结构、模块图。
第5个工作日-第9个工作日:
完成程序的编码,并且自己调试、测试。
穿插进行课程设计报告的撰写。
第10个工作日:
上交课程设计报告,由教师检查软件测试效果、检查课程设计报告,给出学生成绩。
年月日
题目:
ATM自动取款机程序设计分析与设计
1.需求分析
为了方面用户的及时取款,查询,及时修改密码的方便,本课题设计并模拟银行的自动取款机使用过程中的界面和用户交互过程。
实现查询银行卡余额、取款、修改密码、退出系统等功能。
2.概要设计
1登录功能。
输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。
2查询功能。
查询账户余额。
3取款功能。
取款,更新余额。
4挂失功能。
挂失后,该账户不能进行任何操作。
5修改密码。
输入原密码和新设置密码。
6转账。
输入转账的转出账户和转入账户以及转账金额,进行转账。
流程图
图2—1atm设计框图
3.
详细设计
否
是
查询取款挂失修改密码
是否
取款挂失修改密码挂失退出是
返回退出
否是
返回退出
转账
是
图3—1程序流程图
1登陆模块
主要完成功能为:
当用户开始使用本系统,进入登陆模块。
屏幕显示菜单提示,用户可根据需要选择相应功能。
具体如下:
开户、存款、取款、查询余额、修改密码、转账
主要适用技术:
登陆函数主要是使用了循环函数和dowhile函数,还有许多的成员函k.OpenAccount()、k.SaveMoney()、k.TakeMoney()、k.Inquiry()、k.Changepsw()、k.Transfer();
关键代码如下:
voidmain();
主函数;
do{}while
(1);
//循环结构语句
switch(i);
case1:
default:
bankk;
//默认构造函数
k.OpenAccount();
break;
//开户
k.SaveMoney();
//存款
k.TakeMoney();
//取款
k.Inquiry();
//查询余额
k.Changepsw();
//修改密码
k.Transfer();
//转账
2开户模块
进入开户模块。
屏幕显示菜单提示,可根据要求依次输入、卡号、密码和预存款金额,完成以上操作之后,屏幕上显示恭喜您,开户成功。
开户函数使用了基本函数;
主要代码如下:
voidOpenAccount()//开户函数
3存款模块
当开始使用本系统,进入存款模块。
屏幕显示菜单提示,根据要求依次输卡号和密码,如果卡号和密码正确,然后输入存款金额,存款成功后显示卡上余额,(当密码不正确的时候,可以有三次机会输入自己的正确密码,如果三次都没有输入正确,卡将会被吃掉,以下同);
主要使用技术:
存款函数使用了循环语句函数、判断函数和选择函数
voidSaveMoney()//存款函数
for(inti=1;
i<
=N;
i++)else//循环函数语句
exit
(1);
//结束函数
4取款模块
进入取款模块。
屏幕显示菜单提示,根据要求依次输卡号和密码,如果卡号和密码正确,然后输入取款金额,如果全款金额小于或者等于卡上余额,则取款进行,否则重新输入取款金额。
取款成功后显示卡上余额
voidTakeMoney()//取款函数
i++)else//循环函数语句
5查询余额
进入查询余额模块。
屏幕显示菜单提示,根据要求依次输卡号和密码,如果卡号和密码正确,屏幕上将显示你的余额,然后进入修改密码模块;
voidInquiry()//查询余额函数
i++)else//循环结果语句
exit
(1);
6修改密码
进入修改密码模块。
屏幕显示菜单提示,根据要求依次输卡号和密码,如果卡号和原始密码正确,则将进行修改密码的步骤,先输入原始密码,然后再输入新密码,之后确认新密码,确认正确之后,密码修改成功,接下来进入转账模块;
voidChangepsw()//修改密码函数
7转账模块
进入转账模块。
屏幕显示菜单提示,根据要求依次输卡号和密码,如果卡号和原始密码正确,输入所要转账的账号并输入转账金额,如果转账金额小于余额,转账成功输出卡上余额,
voidTransfer()//转账函数
4.编码
classATM//ATM取款机
{
public:
//公有类
ATM(consumer&
):
cnsm(){}
voidwelcome();
//登陆界面
boolcheck_passwd(charn[],charpwd[]);
//核对密码
voidchange_passwd();
//修改密码
voidfetchmoney();
//取款
voidinformation();
//查询信息
voidfunctionshow();
//功能界面
voidguashi();
//挂失
voidzhuanzhang();
//转账
voidexitATM();
//退出系统
voidlock();
//锁机
private:
//私有类
inttimes;
//记录密码输入次数
intmoney;
consumer&
cnsm;
};
5.调试分析
主要问题:
错误较多,由于修改了好多次,程序中的血多代码都出现了不同程度上的错误,尤其是bank和bank[i]之间经常出现问题,我通过调试,发现了好多这样的问题,通过帮助和自己的经验,解决了这个问题;
还有就是程序后面那个是否继续,例如:
cout<
<
"
是否继续操作1是2否"
endl;
这句应该放在哪里,应该怎么写,才能实现程序的完美,后来通过上网查资料和借鉴书上的程序,实现了这个功能;
还有就是调试过程中发现程序不完整,有许多功能没有实现,例如:
对于用户要求输入相应的帐号和密码,如果三次出错则将卡吃掉并打印出相应凭条,没有实现,后来通过增加代码,实现了这个功能。
6.测试结果及运行效果
图6-1登录模块
图6-2开户模块
图6-3存款模块
图6-4取款模块
5查询模块
图6-5查询模块
图6-6修改密码
图6-7转账模块
8退出登录
图6-8退出登录
7.系统开发所用到的技术
VisualC++6.0
应用语言C++
注释:
C++是在C语言引入了面向机制而形成的一种程序设计语言,程序结构灵活,代码简洁清晰,可移植性强,支持数据抽象,面向对象程序设计和泛型程序设计。
所以它是一种应用广泛的系统语言。
参考文献
[1]红梅,于明,程序设计实验教程,中国铁道,2004
[2]徐武,周启涛,葛卉娟,VisualC++与Oracle数据库编程案例,电子工业,2004
[3]网冠科技,VisualC++6.0时尚编程百例,机械工业,2003
[4]求是科技,VisualC++6.0程序设计与开发技术大全,人民邮电,2004
[5]广正工作室《C++Builder实用教程》[M].机械工业1998年
[6]MattTells《高级编程指南——C++Builder》[M].中国水利水电1998年
附录全部代码
#include<
iostream.h>
string.h>
stdlib.h>
classBank
{
public:
Bank(){};
voidOpenAccount()//开户
cout<
欢迎开户:
cout<
请输入您的:
cin>
>
name;
请输入您的卡号:
cardID;
请输入您的密码:
psw;
请输入您的预存金额:
money;
恭喜您,开户成功!
}
voidSaveMoney()//存款
longID;
longpsw1;
intmoney1;
欢迎使用取款业务:
\n"
;
ID;
psw1;
if(ID==cardID&
&
psw1==psw)
{
请输入您的存款金额:
cin>
money1;
money=money+money1;
存款成功,卡上余额为:
money<
}
else
您的卡号或者密码错误,请重新输入!
请重新输入您的密码:
if(psw1==psw)
{
}
else
温馨提示:
密码错误,卡已被吃掉(打印出凭条,您的卡已经暂停一切业务):
exit
(1);
voidTakeMoney()//取款
longID;
欢迎您使用取款业务\n"
请输入您的卡号:
请输入您的密码:
psw1==psw)
请输入您取款的金额:
if(money>
=money1)
money=money-money1;
取款成功,您卡上余额为:
else
{
cout<
取款金额超出账户余额,请重新输入取款金额:
cin>
else
您的卡号或密码错误,请重新输入!
请输入您的取款金额:
voidInquiry()//查询余额
欢迎进行查询余额业务\n"
请输入您的密码"
卡上余额为:
卡上余额为:
voidChangepsw()//修改密码
longpsw2;
欢迎使用修改密码业务\n"
请输入您的原始密码:
请输入您的新密码:
psw2;
确认新密码:
请重新输入新密码:
psw=psw2;
修改密码成功!
您的卡号或者密码错误!
请重新输入您的原始密码:
if(psw1==psw)
请输入新密码:
exit
(1);
voidTransfer()//转账
longID2;
欢迎使用转账业务\n"
请输入您要转账的卡号:
ID2;
请输入您要转账的金额:
转账成功,您卡上余额为:
金额超出账户余额,请重新输入取款金额:
请输入您的转账金额:
转账金额超出账户余额,请重新输入转账金额:
private:
charname[20];
longcardID;
longpsw;
voidmain()
inti;
Bankk;
do
欢迎进入中国工商银行"
ICBC"
请选择您要办理的手续:
1.开户\n"
2.存款\n"
3.取款\n"
4.查询余额\n"
5.修改密码\n"
6.转账\n"
7.退出系统\n"
请输入您要办理业务的序号:
i;
if(i==7)
break;
switch(i)
case1:
k.OpenAccount();
case2:
k.SaveMoney();
case3:
k.TakeMoney();
case4:
k.Inquiry();
case5:
k.Changepsw();
case6:
k.Transfer();
{cout<
你的输入有误,请输入1-7之间的整数!
}
while
(1);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ATM 自动 取款 程序 设计 说明