ATM自动取款机程序设计.docx

上传人:b****2 文档编号:941778 上传时间:2023-04-30 格式:DOCX 页数:26 大小:20.74KB
下载 相关 举报
ATM自动取款机程序设计.docx_第1页
第1页 / 共26页
ATM自动取款机程序设计.docx_第2页
第2页 / 共26页
ATM自动取款机程序设计.docx_第3页
第3页 / 共26页
ATM自动取款机程序设计.docx_第4页
第4页 / 共26页
ATM自动取款机程序设计.docx_第5页
第5页 / 共26页
ATM自动取款机程序设计.docx_第6页
第6页 / 共26页
ATM自动取款机程序设计.docx_第7页
第7页 / 共26页
ATM自动取款机程序设计.docx_第8页
第8页 / 共26页
ATM自动取款机程序设计.docx_第9页
第9页 / 共26页
ATM自动取款机程序设计.docx_第10页
第10页 / 共26页
ATM自动取款机程序设计.docx_第11页
第11页 / 共26页
ATM自动取款机程序设计.docx_第12页
第12页 / 共26页
ATM自动取款机程序设计.docx_第13页
第13页 / 共26页
ATM自动取款机程序设计.docx_第14页
第14页 / 共26页
ATM自动取款机程序设计.docx_第15页
第15页 / 共26页
ATM自动取款机程序设计.docx_第16页
第16页 / 共26页
ATM自动取款机程序设计.docx_第17页
第17页 / 共26页
ATM自动取款机程序设计.docx_第18页
第18页 / 共26页
ATM自动取款机程序设计.docx_第19页
第19页 / 共26页
ATM自动取款机程序设计.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ATM自动取款机程序设计.docx

《ATM自动取款机程序设计.docx》由会员分享,可在线阅读,更多相关《ATM自动取款机程序设计.docx(26页珍藏版)》请在冰点文库上搜索。

ATM自动取款机程序设计.docx

ATM自动取款机程序设计

 

大连科技学院

 

面向对象程序设计(A)课程设计

 

题目ATM自动取款机程序设计

 

学生姓名x'x'x专业班级软件工程12-1

 

指导教师李孝贵职称讲课老师

 

所在单位信息科学系软件工程教研室

 

教课部主任王立娟

 

达成日期2014年7月6日

 

课程设计报告单

 

学号Xxx姓名xxsx

 

考核项目

平常工作态度及恪守纪律状况

1

(10分)

掌握基本理论、重点知识、基本技术的程度和

2阅读参照资料的水平

(10分)

独立工作能力、综合运用所学知识剖析和解决

3问题能力及实质工作能力提升的程度

(20分)

达成课程设计说明书及软件的状况与水平(小组分工状况、规范性、整齐清楚、表达完好性、

4思路清楚程度、工作量及实质运转状况和创新性)

(60分)

总评成绩

 

专业班级软件工程12-1

 

评分备注

 

综合评定:

(优、良、中、及格、不及格)

 

指导教师署名:

年月日

 

《面向对象程序设计(A)课程设计》任务书

 

一、课程设计任务及要求:

任务:

针对小型信息管理系统或若干综合性设计题目,选择一种软件开发模型,完

成从需求剖析、系统设计、系统实现,软件测试的全过程。

要求:

(1)依据软件系统开发的一般原则,达成相应系统的功能设计,达成主要功能模块

的程序实现并进行测试训练,给出代码运转结果和相应的设计文档。

能够分组进行,但所有学生一定经历整个系统的开发全过程,以便加深对系统开发全过程的认识。

(2)提交课程设计报告。

(3)指标:

要求达成课程设计报告3000字以上(约二十页);达成所设计的题目,设计题目的语句行数的和在200行语句以上。

二、工作量

2周(10个工作日)时间

 

三、计划安排

第1个工作日:

查找有关资料、书本,阅读示例文档,选择题目。

第2个工作日-第4个工作日:

设计程序结构、模块图。

第5个工作日-第9个工作日:

达成程序的编码,而且自己调试、测试。

穿插进行课程设计报告的撰写。

第10个工作日:

上交课程设计报告,由教师检查软件测试成效、检查课程设计报告,给出学生成绩。

 

指导教师署名:

年月日

 

题目:

1

1.需求剖析1

2.纲要设计1

3.详尽设计错误!

不决义书签。

4.编码4

5.调试剖析5

6.测试结果及运转成效5

7.系统开发所用到的技术8

参照文件9

附录所有代码10

 

题目:

ATM自动取款机程序设计剖析与设计

1.需求剖析

为了方面用户的实时取款,查问,实时改正密码的方便,本课题设计并模拟银行的

自动取款机使用过程中的界面和用户交互过程。

实现查问银行卡余额、取款、改正密码、退出系统等功能。

2.纲要设计

1登录功能。

输入帐号和密码进行登录,如密码错误提示从头输入密码,如帐号错误提示无此帐户。

2查问功能。

查问账户余额。

3取款功能。

取款,更新余额。

4挂失功能。

挂失后,该账户不可以进行任何操作。

5改正密码。

输入原密码和新设置密码。

6转账。

输入转账的转出账户和转入账户以及转账金额,进行转账。

 

流程图

 

ATM自动

取款系统

 

开户存款取款查问余额改正密码转账

 

图2—1atm设计框图

 

1

 

3.详尽设计

 

输入卡号和密码

 

正确否

 

服务界面

查问

取款

输入金额

显示用户

信息和余

正确

取款

挂失改正密码

挂失

退出

操作成功

返回

退出

 

转账

 

输入转账卡号

 

挂失改正密码

 

挂式界面

输入旧密码

正确输入新密码

输入新密码

挂失成功

 

退卡正确

否是

 

改正成功

 

返回退出

 

 

输入转账金额

高出余额

转账成功

 

返回退出

 

图3—1程序流程图

1登岸模块

主要达成功能为:

当用户开始使用本系统,进入登岸模块。

屏幕显示菜单提示,用

户可依据需要选择相应功能。

详细以下:

开户、存款、取款、查问余额、改正密码、转账

主要合用技术:

登岸函数主假如使用了循环函数和dowhile函数,还有很多的成

员函k.OpenAccount()、k.SaveMoney()、k.TakeMoney()、k.Inquiry()、k.Changepsw()、

 

2

 

k.Transfer();

重点代码以下:

voidmain();主函数;

do{}while

(1);//循环结构语句

switch(i);case1:

default:

bankk;//默认结构函数

k.OpenAccount();break;//开户

k.SaveMoney();break;//存款

k.TakeMoney();break;//取款

k.Inquiry();break;//查问余额

k.Changepsw();break;//改正密码

k.Transfer();break;//转账

2开户模块

主要达成功能为:

进入开户模块。

屏幕显示菜单提示,可依据要求挨次输入姓名、

卡号、密码和预存款金额,达成以上操作以后,屏幕上显示恭贺您,开户成功。

主要合用技术:

开户函数使用了基本函数;

主要代码以下:

voidOpenAccount()//开户函数

3存款模块

主要达成功能为:

当开始使用本系统,进入存款模块。

屏幕显示菜单提示,依据要

求挨次输卡号和密码,假如卡号和密码正确,而后输入存款金额,存款成功后显示卡上

余额,(当密码不正确的时候,能够有三次时机输入自己的正确密码,假如三次都没有

输入正确,卡将会被吃掉,以下同);

主要使用技术:

存款函数使用了循环语句函数、判断函数和选择函数

主要代码以下:

voidSaveMoney()//存款函数

for(inti=1;i<=N;i++)else//循环函数语句

exit

(1);//结束函数

4取款模块

主要达成功能为:

进入取款模块。

屏幕显示菜单提示,依据要求挨次输卡号和密码,假如卡号和密码正确,而后输入取款金额,假如全款金额小于或许等于卡上余额,则取

款进行,不然从头输入取款金额。

取款成功后显示卡上余额

主要合用技术:

存款函数使用了循环语句函数、判断函数和选择函数主要代码以下:

voidTakeMoney()//取款函数

for(inti=1;i<=N;i++)else//循环函数语句

3

 

exit

(1);//结束函数

5查问余额

主要达成功能为:

进入查问余额模块。

屏幕显示菜单提示,依据要求挨次输卡号和

密码,假如卡号和密码正确,屏幕大将显示你的余额,而后进入改正密码模块;

主要合用技术:

存款函数使用了循环语句函数、判断函数和选择函数

主要代码以下:

voidInquiry()//查问余额函数

for(inti=1;i<=N;i++)else//循环结果语句

exit

(1);//结束函数

6改正密码

主要达成功能为:

进入改正密码模块。

屏幕显示菜单提示,依据要求挨次输卡号和

密码,假如卡号和原始密码正确,则将进行改正密码的步骤,先输入原始密码,而后再

输入新密码,以后确认新密码,确认正确以后,密码改正成功,接下来进入转账模块;

主要合用技术:

存款函数使用了循环语句函数、判断函数和选择函数

主要代码以下:

voidChangepsw()//改正密码函数

for(inti=1;i<=N;i++)else//循环结果语句

exit

(1);//结束函数

7转账模块

主要达成功能为:

进入转账模块。

屏幕显示菜单提示,依据要求挨次输卡号和密码,假如卡号和原始密码正确,输入所要转账的账号并输入转账金额,假如转账金额小于余

额,转账成功输出卡上余额,

主要合用技术:

存款函数使用了循环语句函数、判断函数和选择函数主要代码以下:

voidTransfer()//转账函数

for(inti=1;i<=N;i++)else//循环结果语句

exit

(1);//结束函数

4.编码

classATM//ATM取款机

{

public:

//公有类

ATM(consumer&cn):

cnsm(cn){}

voidwelcome();//登岸界面

boolcheck_passwd(charn[],charpwd[]);//查对密码

voidchange_passwd();//改正密码

4

 

voidfetchmoney();//取款

voidinformation();//查问信息

voidfunctionshow();//功能界面

voidguashi();//挂失

voidzhuanzhang();//转账

voidexitATM();//退出系统

voidlock();//锁机

private:

//私有类

inttimes;//记录密码输入次数

intmoney;

consumer&cnsm;

};

5.调试剖析

主要问题:

错误许多,因为改正了很多次,程序中的血多代码都出现了不一样程度上

的错误,特别是bank和bank[i]之间常常出现问题,我经过调试,发现了很多这样的问题,经过帮助和自己的经验,解决了这个问题;还有就是程序后边那个能否持续,比如:

cout<<"能否持续操作1是2否"<

实现程序的完满,以后经过上网查资料和借鉴书上的程序,实现了这个功能;还有就是

调试过程中发现程序不完好,有很多功能没有实现,比如:

关于用户要求输入相应的帐

号和密码,假如三次犯错则将卡吃掉并打印出相应凭条,没有实现,以后经过增添代码,

实现了这个功能。

6.测试结果及运转成效1登岸模块

 

图6-1登录模块

2开户模块

5

 

图6-2开户模块

3存款模块

 

图6-3存款模块

4取款模块

 

图6-4取款模块

5查问模块

 

6

 

图6-5查问模块

6改正密码

 

图6-6改正密码

7转账模块

 

图6-7转账模块

7

 

8退出登录

 

图6-8退出登录

 

7.系统开发所用到的技术

 

应用语言C++

说明:

C++是在C语言引入了面向体制而形成的一种程序设计语言,程序结构灵巧,代码简短清楚,可移植性强,支持数据抽象,面向对象程序设计和泛型程序设计。

因此它是一种应用宽泛的系统语言。

 

8

 

参照文件

[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年

 

9

 

附录所有代码

#include

#include

#include

classBank

{

public:

Bank(){};//默认结构函数

voidOpenAccount()//开户

{

cout<<"欢迎开户:

"<

cout<<"请输入您的姓名:

"<

cin>>name;

cout<<"请输入您的卡号:

"<

cin>>cardID;

cout<<"请输入您的密码:

"<

cin>>psw;

cout<<"请输入您的预存金额:

"<

cin>>money;

cout<<"恭贺您,开户成功!

"<

}

voidSaveMoney()//存款

{

longID;

longpsw1;

intmoney1;

cout<<"欢迎使用取款业务:

\n";

cout<<"请输入您的卡号:

"<

cin>>ID;

cout<<"请输入您的密码:

"<

cin>>psw1;

if(ID==cardID&&psw1==psw)

{

cout<<"请输入您的存款金额:

"<

cin>>money1;

10

 

money=money+money1;

cout<<"存款成功,卡上余额为:

"<

}

else

{

cout<<"您的卡号或许密码错误,请从头输入!

"<

cout<<"请从头输入您的密码:

"<

cin>>psw1;

if(psw1==psw)

{

cout<<"请输入您的存款金额:

"<

cin>>money1;

money=money+money1;

cout<<"存款成功,卡上余额为:

"<

}

else

{

cout<<"温馨提示:

密码错误,卡已被吃掉(打印出凭条,您的

卡已经暂停全部业务):

"<

exit

(1);

}

}

}

voidTakeMoney()//取款

{

longID;

longpsw1;

intmoney1;

cout<<"欢迎您使用取款业务\n";

cout<<"请输入您的卡号:

"<

cin>>ID;

cout<<"请输入您的密码:

"<

cin>>psw1;

if(ID==cardID&&psw1==psw)

{

11

 

cout<<"请输入您取款的金额:

"<

cin>>money1;

if(money>=money1)

{

money=money-money1;

cout<<"取款成功,您卡上余额为:

"<

}

else

{

cout<<"取款金额高出账户余额,请从头输入取款金额:

";

cin>>money1;

money=money-money1;

cout<<"取款成功,您卡上余额为:

"<

}

}

else

{

cout<<"温馨提示:

您的卡号或密码错误,请从头输入!

"<

cout<<"请从头输入您的密码:

"<

cin>>psw1;

if(psw1==psw)

{

cout<<"请输入您的取款金额:

"<

cin>>money1;

if(money>=money1)

{

money=money-money1;

cout<<"取款成功,您卡上余额为:

"<

}

else

{

cout<<"取款金额高出账户余额,请从头输入取款金额:

";cin>>money1;

money=money-money1;

cout<<"取款成功,您卡上余额为:

"<

12

 

}

}

cout<<"温馨提示:

密码错误,卡已被吃掉(打印出凭条,您的卡

已经暂停全部业务):

"<

exit

(1);

}

}

voidInquiry()//查问余额

{

longID;

longpsw1;

cout<<"欢迎进行查问余额业务\n";

cout<<"请输入您的卡号:

"<

cin>>ID;

cout<<"请输入您的密码"<

cin>>psw1;

if(ID==cardID&&psw1==psw)

{

cout<<"卡上余额为:

"<

}

else

{

cout<<"您的卡号或许密码错误,请从头输入!

"<

cout<<"请从头输入您的密码:

"<

cin>>psw1;

if(psw1==psw)

{

cout<<"卡上余额为:

"<

}

else

cout<<"温馨提示:

密码错误,卡已被吃掉(打印出凭条,您的

卡已经暂停全部业务):

"<

exit

(1);

}

}

13

 

voidChangepsw()//改正密码

{

longID;

longpsw1;

longpsw2;

cout<<"欢迎使用改正密码业务\n"<

cout<<"请输入您的卡号:

"<

cin>>ID;

cout<<"请输入您的密码:

"<

cin>>psw1;

if(ID==cardID&&psw1==psw)

{

cout<<"请输入您的原始密码:

"<

cin>>psw1;

cout<<"请输入您的新密码:

"<

cin>>psw2;

cout<<"确认新密码:

请从头输入新密码:

"<

cin>>psw2;

psw=psw2;

cout<<"改正密码成功!

"<

}

else

{

cout<<"您的卡号或许密码错误!

"<

cout<<"请从头输入您的原始密码:

"<

cin>>psw1;

if(psw1==psw)

{

cout<<"请输入您的新密码:

"<

cin>>psw2;

cout<<"确认新密码:

请输入新密码:

"<

cin>>psw2;

psw=psw2;

cout<<"改正密码成功!

"<

}

14

 

else

{

cout<<"温馨提示:

密码错误,卡已被吃掉(打印出凭条,您的卡已经暂停全部业

务):

"<

exit

(1);

}

}

}

 

voidTransfer()//转账

{

longID;

longID2;

longpsw1;

intmoney1;

cout<<"欢迎使用转账业务\n"<

cout<<"请输入您的卡号:

"<

cin>>ID;

cout<<"请输入您的密码:

"<

cin>>psw1;

if(ID==cardID&&psw1==psw)

{

cout<<"请输入您要转账的卡号:

"<

cin>>ID2;

cout<<"请输入您要转账的金额:

"<

cin>>money1;

if(money>=money1)

{

money=money-money1;

cout<<"转账成功,您卡上余额为:

"<

}

else

{

cout<<"金额高出账户余额,请从头输入取款金额:

";cin>>money1;

15

 

money=money-money1;

cout<<"转账成功,您卡上余额为:

"<

}

}

else

{

cout<<"温馨提示:

您的卡号或密码错误,请从头输入!

"<

cout<<"请从头输入您的密码:

"<

cin>>psw1;

if(psw1==psw)

{

cout<<"请输入您的转账金额:

"<

cin>>money1;

if(money>=money1)

{

money=money-money1;

cout<<"转账成功,您卡上余额为:

"<

}

else

{

cout<<"转账金额高出账户余额,请从头输入转账金额:

";

cin>>money1;

money=money-money1;

cout<<"转账成功,您卡上余额为:

"<

}

}

cout<<"温馨提示:

密码错误,卡已被吃掉(打印出凭条,您的卡已

经暂停全部业务):

"<

exit

(1);

}

 

}

private:

charname[20];

longcardID;

16

 

longpsw;

intmoney;

};

voidmain()

{

inti;

Bankk;

 

do

{

cout<<"欢迎进入中国工商银行"<

cout<<"ICBC"<

cout<<"请选择您要办理的手续:

\n";

cout<<"1.开户\n";

cout<<"2.存款\n";

cout<<"3.取款\n";

cout<<"4.查问余额\n";

cout<<"5.改正密码\n";

cout<<"6.转账\n";

cout<<"7.退出系统\n";

cout<<"请输入您要办理业务的序号:

";

cin>>i;

if(i==7)

break;

switch(i)

{

case1:

k.OpenAccount();break;//开户

case2:

k.SaveMoney();break;//存款

case3:

k.TakeMoney();break;//取款

case4:

k.Inquiry();break;//查问余额

case5:

17

 

k.Changepsw();break;//改正密码

case6:

k.Transfer();break;//转账

default:

{cout<<"你的输入有误,请输入1-7之间的整数!

\n";}

}

}

while

(1);

}

 

18

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2