ATMC++课程设计Word文档格式.docx
- 文档编号:22914614
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:54
- 大小:372.57KB
ATMC++课程设计Word文档格式.docx
《ATMC++课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《ATMC++课程设计Word文档格式.docx(54页珍藏版)》请在冰豆网上搜索。
每人完成自己承担的程序模块并通过独立编译;
2014年6月19日~2014年6月20日,将各模块集成为一个完整的系统,并录入足够的数据进行调试运行;
同时撰写报告。
2014年6月20日,验收;
提交课程设计报告。
指导教师签章:
教研室主任签章
面向对象程学设计课程设计指导教师评语与成绩
指导教师评语:
课程设计表现成绩:
课程设计验收成绩:
课程设计报告成绩:
课程设计总成绩:
指导教师签章
2014年6月20日
1.2功能需求……………………………………………………………………………………2
3.1主界面功能模块设计…………………………………………………………..9
3.2取款界面功能模块设计……………………………………………………….13
3.3存款界面功能模块设计………………………………………………………..16
3.4查询余额界面功能模块设计………………………………………………….19
3.5转账界面功能模块设计……………………………………………………….20
3.6修改密码功能模块设计……………………………………………………….23
第1章需求分析
1.1性能需求
为解决现有银行ATM机安防监控系统的缺陷,为使ATM机安防监控系统设备安全正常而又稳定可靠地工作,以及用户的生命和财产的安全,现代银行ATM机安防监控系统性能必须具备智能化功能。
1、可扩展性
系统中控制部件(软、硬件)采用模块式结构、模组式交换矩阵、内部总线化(智能分析设备通过SDK与原有的ATM中心业务系统进行对接,实现即插即用)等技术措施,可方便灵活的进行扩充,充分保证系统将来的适应性。
2、灵活性
系统采用硬件编解码,可调节图像质量与带宽占用,可根据用户需求调节帧数、分辨率、图像质量等。
多种图像浏览方式,包括单画面、四画面、九画面、十六画面多种浏览方式。
系统支持基于浏览器技术的网络浏览功能,可以方便灵活的使用。
可很方便进行软件升级,硬件方面在若干年内不失其先进性,保证用户投资。
3、开放性
系统兼容性强,能与现有其他监控系统互融,提供完整的维护业务平台。
应有与防盗、防火、门禁系统联动的智能功能。
这一智能功能,主要是视频监控能与防盗、防火、门禁等系统联动,而进行预/报警,并记录该视频,且向监控中心发送联动预/报警时的视频信息。
4、完善性
具有强大的数据和告警的采控和处理功能。
当发生报警时(智能报警或外界设备触发报警),能把报警信息进行视频联动,也可以通过其它方式实现联动。
如实现告警时灯光、警笛联动并录像。
同时提供功能完善的录像管理体系,提供指定阀值的滚动式录像删除功能(在保证客户录像存储时间的要求下),录像存储空间可以根据客户的需求配备存储空间,支持备份功能,能有效保证数据的安全性。
1.2功能需求
ATM软件分别有登陆,存款,取款,查询,转账,修改密码,,退出系统等功能。
设计时常将各个功能分模块设计,各个模块各有不同的特点及功能,最终来完成各自相应的功能。
各模块的数据都存放在数据库中,又形成一个整体。
数据的调用和连接都有程序来完成。
ATM终端机通过用户输入6位的卡号和6位的对应密码,经过验证后,准确无误后可以同系统进行各种交互,例如:
查询、存款、取款、转账、明细查询、打印凭条等;
系统根据终端服务器的用户输入处理储户相应的要求,执行对应操作,为储户服务。
第2章概要设计
2.1功能模块设计
登陆界面
主界面
修改密码界面
取款界面
存款界面
转账界面
余额查询界面
退出系统界面
2.2类的分析与设计
(类的描述和设计)
ATM类的设计
在ATM类,有数据成员和成员函数,他们被访问的权限又分成三类,private私有类,protected保护类,public共有类。
classATM
{
public:
ATM(consumer&
cn):
cnsm(cn){}
voidwelcome();
//登陆界面
boolcheck_passwd(stringn,stringpwd);
//核对密码
voidchange_passwd();
//修改密码
voidfetchmoney();
//取款
voidsavemoney();
//存款
voidzhuanzhang();
//转账
voidinformation();
//查询信息
voidexitATM();
//退出系统
voidfunctionshow();
//功能界面
voidlock();
//锁机
private:
inttimes;
//记录密码输入次数
consumer&
cnsm;
};
consumer类的设计
classconsumer
//用户
friendclassATM;
consumer(stringName,stringNum,floatMoney,stringPassWord);
protected:
stringget_name();
//取得姓名
stringget_num();
//取得卡号
stringget_passwd();
//取得密码
floatget_money();
//取得余额
voidset_passwd(stringpwd);
//设置密码
voidset_money(floatm);
//取钱
voidsave_money(floatm);
//存钱
private:
stringpasswd;
//用户密码
stringname;
//用户姓名
stringnum;
floatmoney;
第3章详细设计
3.1主界面功能模块设计
否
是
是
intmain()
cout
<
<
"
※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"
※※\n"
※欢迎使用银行管理系统模拟ATM机※\n"
※请注意周围环境安全※\n"
※1:
用户登录※\n"
※0:
退出※\n"
※没有卡或银行卡丢失请到柜台办理※\n"
※本行可办理外汇业务※\n"
※更多咨询请登入※\n"
endl;
inti;
consumerc1("
王楠"
"
123456"
5200.3f,"
);
//先构造一个用户
ATMatm(c1);
cin>
>
i;
if(i==1)
{
atm.welcome();
}
if(i==0)
atm.exitATM();
return0;
}
voidATM:
:
welcome()
times=0;
stringpwd,num,ch;
do
cout<
endl<
请输入卡号:
;
num;
请输入密码:
pwd;
if(!
check_passwd(num,pwd))
你输入的卡号或密码有误,请重新输入"
times++;
else
{
functionshow();
}
while(times<
3);
lock();
boolATM:
check_passwd(stringnum,stringpwd)
//if(strcmp(num,cnsm.get_num())==0&
&
strcmp(pwd,cnsm.get_passwd())==0)
if(num==cnsm.get_num()&
pwd==cnsm.get_passwd())
returntrue;
else
returnfalse;
functionshow()
intn;
cout<
请你输入相应的操作序号进行操作:
cout
※1)修改密码※\n"
※2)取款※\n"
※3)存款※\n"
※4)转账※\n"
※5)查询余额※\n"
※6)退出系统※\n"
$>
n;
while(n<
1||n>
6)
请输入正确的操作序号!
$>
switch(n)
case1:
change_passwd();
break;
case2:
fetchmoney();
case3:
savemoney();
case4:
zhuanzhang();
case5:
information();
case6:
exitATM();
while(true&
z);
3.2取款界面功能模块设计
只要账号被ATM系统识别,只需输入密码就能够直接进行存取款。
其中用户账号设置为6位,密码设置为6位。
密码账号完全匹配后方可进入操作界面。
点击取款的操作按钮即可进入取款界面。
由于用户有时一次登录后需要进行不止一种操作,所以以在执行完取款操作后可以进行其他界面的选择,可以再次选择继续交易,进入主界面,再次选择其他交易类型接受相应服务。
否
fetchmoney()
floatm;
charch;
inta;
cout
※1)人民币※\n"
※2)美元※\n"
※3)英镑※\n"
※4)欧元※\n"
※本行仅限于以上4种币种※\n"
请选择您取款的币种"
a;
switch(a)
case1:
\n人民币\n"
;
break;
case2:
\n美元\n"
case3:
\n英镑\n"
case4:
\n欧元\n"
if(a==1)
m=m;
if(a==2)
m=6*m;
if(a==3)
m=7*m;
if(a==4)
m=8*m;
你要取多少钱:
endl;
m;
while(m<
=0)
请输入正确的数字!
if(cnsm.get_money()-m<
0)
对不起,你的余额不足!
else
您在6月17日成功提取"
m<
元"
操作成功,请收好钱!
\n"
是否打印凭条"
ch;
if(ch=='
Y'
)
\n请收好你的凭条\n"
cnsm.set_money(m);
\n是否要继续该项操作:
(Y/N)"
while(ch!
='
n'
ch!
N'
y'
cin>
while(ch=='
||ch=='
3.3存款界面功能模块设计
经过密码验证后进入存款界面后,开始进行存款操作,然后结束操作。
如果想继续其他交易,可以选择继续交易,然后进入主界面再进行相关操作。
savemoney()
请选择您存款的币种"
你要存多少钱:
请输入正确的金额"
}
操作成功!
\n您在6月17日存入"
元\n"
cnsm.save_money(m);
是否要继续该项操作:
/*while(ch!
请再次输入交易金额"
cnsm.save_money(m);
//cout<
//cout<
}*/
3.4查询余额界面功能模块设计
大多数银行的ATM目前能给用户提供的查询服务主要有余额查询,本机只可查询人民币余额。
information()
**********************************"
*"
*用户姓名:
cnsm.get_name()<
*卡号:
"
cnsm.get_num()<
*RMB余额:
cnsm.get_money()<
3.5转账界面功能模块设计
转账只需填写对方正确的银行卡号,进而实现转账。
zhuanzhang()
stringzhuanhao;
请输入对方账户:
zhuanhao;
请选择您要转账的币种"
{
请输入转账金额"
while(m<
cout<
请重新确认金额"
cin>
if(a==1)
if(cnsm.get_money()-m<
对不起,您的余额不足!
\n您在6月17日转出"
元\n操作成功!
如果对方成功收到,将以短信的形式通知你"
cnsm.set_money(m);
3.6修改密码界面功能模块设计
修改密码需要输入两次新密码,两次密码必须一致。
change_passwd()
charpwd[8],repwd[8];
请输入旧密码:
check_passwd(cnsm.get_num(),pwd))
if(times==3)lock();
intt=0;
请输入新密码:
请再输入一次新密码:
repwd;
if((t=strcmp(pwd,repwd))!
你输入的两次密码不一样,请重新输入!
while(t!
=0);
cnsm.set_passwd(pwd);
密码
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ATMC 课程设计