logo资料库

ATM机程序设计课程设计报告 c++.doc

第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
资料共18页,剩余部分请下载后查看
《面向对象技术》
课程设计说明书
三、 程序流程
四、 类设计
money=money+money1;
cout<<"\t\t存款成功,卡上余额为:"<
同样定义一个int的数据类型money1,用来存放要取出的金额,此时,卡上的余额为原来的减去取出的即
money=money-money1;
cout<<"\t\t取款成功,你卡上余额为:"<
;但是 ,当所取的金额大于卡上原有的金额时即money1>money,则,提示取款超过存款金额,请重
if(money
cout<<"\t\t取款超过存款金额"<<"("<
六、 主要代码(本人负责的是存款,取款部分)
void Account::saveMoney()
{
int money1;
cout<<"\t\t欢迎使用存款业务:\n";
eatcard();
cout<<"\t\t请输入你的存款金额:";
cin>>money1;
money=money+money1;
cout<<"\t\t存款成功,卡上余额为:"<
}
void Account::takeMoney()
{
int money1;
cout<<"\t\t欢迎使用取款业务:\n";
eatcard();
cout<<"\t\t请输入你的取款金额:";
while(1)
{
cin>>money1;
if(money
cout<<"\t\t取款超过存款金额"<<"("<
else
{
money=money-money1;
cout<<"\t\t取款成功,你卡上余额为:"<
return;
}
}
七、 系统运行结果样例
1.开户:输入数据:姓名:li;卡号:110;密码:112;预存:1000
2.存款
输入数据:所存的金额为1000
3.取款
输入数据:取款金额为:300
九、心得总结
这次课程设计让我更加了解c和c++,进一步掌握了利用c++进行类的定义和操作方法,虽然没
八、整体代码
#include
#include
#include
#include
class Account
{
private:
char name[10];
long cardID;
char password[20];
int money;
public:
void openAccount();
void saveMoney();
void takeMoney();
void check();
void transfer();
void changepassword();
void eatcard();
};
void Account::eatcard()
{
long cid;
char password1[20];
for(int i=0;i<3;i++)
{
cout<<"\t\t请输入您的卡号:";
cin>>cid;
cout<<"请输入您的密码:";
cin>>password1;
if(cid==cardID&&strcmp(password1,password)==0)
{cout<<"\t\t输入正确!"<
return;}
else{ switch(i)}
case 0:
case 1:
cout<<"***********卡密码输入有误*******\n\t\t请重新输入:"<
break;
case 2:
cout<<"***********吃卡******************"<
exit(1);
} } } }
void Account::openAccount()
{cout<<"\t\t欢迎开户: :\n";
cout<<"\t\t请输入您的姓名:";
cin>>name;
cout<<"请输入你的卡号:";
cin>>cardID;
cout<<"\t\t请输入你的密码:";
cin>>password;
cout<<"\t\t请输入您的预存金额:";
cin>>money;
cout<<"\t\t恭喜您,开户成功!\n";}
void Account::saveMoney()
{int money1;
cout<<"\t\t欢迎使用取款业务:\n";
eatcard();
cout<<"\t\t请输入你的存款金额:\n";
cin>>money1;
money=money+money1;
cout<<"\t\t取款成功,卡上余额为:"<
void Account::takeMoney()
{ int money1;
cout<<"\t\t欢迎使用取款业务:\n";
eatcard();
cout<<"\t\t请输入你的取款金额:\n";
while(1){cin>>money1;
if(money
cout<<"取款超过存款金额"<<"("<
else{
money=money-money1;
cout<<"\t\t取款成功,你卡上余额为:"<
return; } } }
void Account::check()
{cout<<"\t\t欢迎使用查询业务:\n";
eatcard();
cout<<"\t\t卡上余额为:"<
void Account::transfer()
{ long bcid;
int money1;
cout<<"\t\t欢迎使用转账业务\n"<
eatcard();
cout<<"\t\t请输入你要转账的卡号:";
cin>>bcid;
cout<<"\t\t请输入你要转账的金额:";
while(1)
{cin>>money1;
if(money1>money)
cout<<"\t\t转账金额超过存款金额"<<"("<
else {
money=money-money1;
cout<<"\t\t转账成功,你卡上的余额为:"<
return; } } }
void Account::changepassword()
{char password1[20],password2[20];
cout<<"\t\t欢迎使用修改密码\t\t"<
eatcard();
while(1){ cout<<"输入更改的密码:";
cin>>password1;
cout<<"再输入一遍:";
cin>>password2;
if(strcmp(password1,password2)==0)
{ strcpy(password,password1);
cout<<"修改密码成功!"<
return;}
else cout<<"**********更改密码不一致************\n重新输入
void main()
{ int i;
Account a;
do { cout<<"\t\t*************************\n"<
cout<<"\t\t* 欢迎使用自动取款机 *\n"<
cout<<"\t\t****************************\n"<
cout<<"\t\t请选择您要办理的手续:\n"<
cout<<"\t\t\t1.开户\n";
cout<<"\t\t2.存款\n";
cout<<"\t\t\t3.取款\n";
cout<<"\t\t\t4.查询余额\n";
cout<<"\t\t\t5.转账\n";
cout<<"\t\t\t6.更改密码\n";
cout<<"\t\t\t7.退出\n";
cout<<"\t\t\t请输入您要办理的项目的序号:";
cin>>i;
if(7==6) break;
switch(i){case 1: a.openAccount(); break;
case 2: a.saveMoney(); break;
case 3:a.takeMoney(); break;
case 4: a.check(); break;
case 5:a.transfer() ; break;
case 6: a.changepassword(); break;
default:
cout<<"\a\a\a\t\t您的输入有误,请输入1--7之间的数!\n"; }
}while(1);}
《面向对象技术》 课程设计说明书 题 目: ATM 机存取款程序 指导教师: 肖连 姓 学 日 名: 号: 期: 李阳坡 111006413 计算机科学与应用系 2011-2012 学年第 2 学期 1
目录 摘要…………………………………………………………I 目录…………………………………………………………II 第一章………………………………………………………需求 分析 第二章………………………………………………………系统 的主要功能 第三章……………………………………………………程序 流程图 第四章………………………………………………………类设 计 第五章………………………………………………………主要 算法设计 第六章………………………………………………………主要 代码 第七章………………………………………………………系统 运行结果样例 第八章………………………………………………………心得 总结 第九章………………………………………………………整体 代码 2
一、需求分析 随着计算机的发展,计算机在各行各业中得到了广泛应用,常常产生显著的 经济效益和社会效益,从而引起产业结构、产品结构、经营管理和服务方式等方面的 重大变革。计算机科学与技术的各门学科相结合,改进了研究工具和研究方法,促进 了各门学科的发展。计算机还是人们的学习工具和生活工具。借助家用计算机、个人 计算机、计算机网、数据库系统和各种终端设备,人们可以学习各种课程,获取各种 情报和知识,处理各种生活事务(如订票、购物、存取款等),甚至可以居家办公。越 来越多的人的工作、学习和生活中将与计算机发生直接的或间接的联系。普及计算机 教育已成为一个越来越重要的问题。总之,计算机的发展和应用已不仅是一种科学的 技术现象而且是一种政治、经济、军事和社会现象。 随着我国金融电子化建设的深入发展和银行客户对金融服务质量要 求的提高,自动柜员机在金融行业的应用越来越广泛,自动柜员机在拉近 客户与银行之间的距离,扩展营业网点,改善用卡环境,提供全天候、全 方位的金融服务,降低经营成本,提高金融行业的服务质量和综合竞争实 力等方面正发挥着不可替代的作用。 如今社会已进入信息化时代,出门在外的人带的东西越来越少,特别是现 金,放在身上既不安全也不放心,用银行卡就方便了人们外出携带资金不方便的 问题,但是,此时,就不得不提到 ATM 机了。它可以方便提供存款,取款,转 账,修改密码,查询余额等多种服务,给人们 提供了极大的方便。 (1)当用户需要修改密码时,可以使用这个功能,只有旧密码正确,新 密码符合要求,才能修改成功。 (2)存款。用户可以实现存款,但是不能出现负存款。 (3)取款。根据用户需要,输入要取的金额,必须是 100 的整数倍并且 不能超过卡上的余额。 (4)吃卡。当用户密码输错次数超过三次时,会自定锁卡。 二、系统的主要功能 本程序是一个简单模拟实际 ATM 取款机,主要实现开户,存款,取款, 转账,修改密码,余额查询等基本业务。 首 先 , 定 义 一 个 类 。 其 中 包 含 七 个 共 有 的 成 员 函 数 , 分 别 为 开 户 (openAccount)、存款(savemoney)、取款(takemoney)、查询业务(check)、 转账(transfer)、修改密码(changepassword)和控制输错次数(eatcard)的 成员函数;四个私有成员 name[10],用来记录开户者的名字; lcardID,保 存记录账号, password[20],保存密码; money 保存余额。 本程序首开始时,会提醒用户选择要办理的业务例如:1.开户。2.存款。 3.取款。4 查询余额。5.转账。6.更改密码。7.退出。一般情况下用户肯定是 要先执行开户程序的,这是必须的 ,你只有先开户,才能使用。然后设定自 己的账号和密码。该部分 由成员函数(openAccount)来实现;之后用户如 果要进行存款,选择存款业务后,只需要按照提示输入所要存入的账号、密 码和要存的金额即可;若要进行取款,选择取款业务后,输入自己的账号密 码后,再输入取款金额,需要注意的是,取款金额不能大于卡中的余额,否 则,将会提示“余额不足,请重新输入”;若要查询余额,只需要输入账号密 码,选择余额查询业务即可。转账业务,输入账号密码后,选择转账业务, 选择要转入的账号、金额。程序将自动计算本卡剩余的金额。更改密码业务, 在选择更改密码业务后,输入旧密码在输入新密码,注意新密码要进行确认 3
输入。 三、 程序流程 开始 登录界面 输入选择代码 i 判断 i 的值 i=1 i=2 i=3 i=4 i=5 i=6 i=7 i 为其它 四、 类设计 定义一个 Account 类,其中其中包含七个共有的成员函数, 分别为开户(openAccount)、存款(savemoney)、取款(takemoney)、查询 业务(check)、转账(transfer)、修改密码(changepassword)和吃卡(eatcard) 成员函数(密码输错次数超过三次时,将自动锁定该账户);四个私有成员 name[10],用来记录开户者的名字; lcardID,保存记录账号, password[20], 保存密码; money 保存余额。具体如下: class Account //定义一个 Account 类 { private: char name[10]; //类的私有成员 4
long cardID; char password[20]; int money; public: //类的共有成员 void openAccount(); //开户成员函数 void saveMoney(); //存款成员函数 void takeMoney(); //取款成员函数 void check(); //查询业务成员函数 void transfer(); //转帐成员函数 void changepassword(); //修改密码成员函数 void eatcard(); //吃卡成员函数 }; 五、 主要算法设计(本人负责的是存款,取款部分) 1.存款 定义一个 int 的数据类型(取款机默认只能是整数并且是 100 的整数倍) money1,用来存放要存入的金额,此时,卡上的余额为原来的加上另存入的,并 提示存款成功,卡上余额 为:其控制语句为: money=money+money1; cout<<"\t\t 存款成功,卡上余额为:"<
;但是 ,当所取的金额大于卡上原有的金额时即 money1>money,则,提示取 款超过存款金额,请重新输入。其控制语句为: if(money>money1; money=money+money1; cout<<"\t\t 存款成功,卡上余额为:"<>money1; 6
if(money
七、 系统运行结果样例 1.开户:输入数据:姓名:li;卡号:110;密码:112;预存:1000 8
分享到:
收藏