模拟ATM自动取款机系统C版完整Word格式文档下载.docx
- 文档编号:18821916
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:14
- 大小:40.13KB
模拟ATM自动取款机系统C版完整Word格式文档下载.docx
《模拟ATM自动取款机系统C版完整Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《模拟ATM自动取款机系统C版完整Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
public:
ATM(YongHu&
y):
yh(y)
{}
...............
private:
inttimes;
YongHu&
yh;
};
5.2YongHu类:
该类主要实现卡号,密码,余额的获取函数等功能。
classYongHu//用户类
{
friendclassATM;
............
charID[20];
//卡号
charpassword[10];
//密码
floatmoney;
//卡上余额
5.3查询函数:
调用YongHu类的获取函数将信息输出
voidATM:
:
CX()
...........
}
5.4修改密码函数:
使用dowhile语句实现修改密码的功能
GG()
.........
5.5密码星号函数:
通过while语句实现输入密码时每输入一个字符就显示一个星号的功能
char*ATM:
GetPassword()
........
六、模块分析
七、比较有特色的函数
char*ATM:
charc;
inti=0;
charpassword[6];
while((c=getch())!
='
\r'
)
{
password[i]=c;
putchar('
*'
);
i++;
if(i>
=6)
break;
}
returnpassword;
//实现密码星号化的功能
八、存在的不足与对策
由于我的能力及时间限制,所以这次这个系统设计得非常简单,功能也很单一,并且这次并没有使用文件的功能,所有的数据都是一次性的,我会在课下继续探究可以完善该系统的方法.
九、程序源代码
//funtion.h
#include<
iostream>
cstring>
cstdlib>
classYongHu;
//定义全局类class
voidDLJM();
//登陆界面
boolHDMM(charID[],charpassword[]);
//核对密码
voidQK();
//取款
voidCX();
//查询
voidGG();
//更改密码
voidGNJM();
//功能界面
voidLK();
//锁卡
voidTC();
//退出
char*GetPassword();
YongHu(charid[],floatMoney,charPassword[]);
char*get_ID();
//获取卡号
char*get_password();
//获取密码
floatget_money();
//获取余额
voidset_password(charPassword[]);
//设置密码
voidset_money(floatm);
//ATM.cpp
conio.h>
#include"
funtion.h"
#include<
usingnamespacestd;
voidATM:
DLJM()//登陆界面
{
times=0;
charID[20],password[10],ch;
inti=0;
do
{
i=0;
cout<
<
"
◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆"
endl;
◆欢迎使用中国农业银行!
◆"
endl<
测试卡号为:
123456"
测试密码为:
测试卡号余额为:
10000元"
请输入您的卡号"
★卡号:
;
do
{
cin.get(ch);
ID[i++]=ch;
}while(ch!
\n'
ID[i-1]='
\0'
请输入您的密码"
★密码:
strcpy(password,GetPassword());
if(!
HDMM(ID,password))
cout<
~对不起,您的卡号或密码有误,请重新输入"
times++;
}
else
GNJM();
}while(times<
3);
LK();
}
boolATM:
HDMM(charID[],charpassword[])
if(strcmp(ID,yh.get_ID())==0&
&
strcmp(password,yh.get_password())==0)
returntrue;
else
returnfalse;
GNJM()
intn;
cout<
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆"
☆1)取款★"
★2)查询余额☆"
☆3)更改密码★"
★4)退出系统☆"
★请输入你想操作的序号:
cin>
>
n;
if(n<
0||n>
4)
cout<
★您输入的序号不正确,请重新输入:
cin>
switch(n)
case1:
QK();
break;
case2:
CX();
case3:
GG();
case4:
TC();
}while(true);
}
QK()
floatm;
charch;
★请输入您要取多少钱:
m;
while(m<
=0)
{
★请输入正确的取款数:
cin>
}
if(yh.get_money()-m<
0)
~对不起,您的余额不足!
}
if((int)m%100!
~对不起,您的取款金额必须为100的倍数!
if(m>
2000)
{
cout<
~对不起,您每次只能取2000元!
}
else
~操作成功,请稍后"
yh.set_money(m);
★请输入(y/n)确认是否取钱!
ch;
while(ch!
Y'
ch!
y'
N'
n'
)
★请再次输入(y/n)确认是否取钱!
if(ch=='
||ch=='
~您已取款成功!
请收好钱!
else
请尽快取钱!
GNJM();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
"
卡号:
yh.get_ID()<
余额:
yh.get_money()<
元"
charpassword[10],Xpassword[10];
times=0;
do
★请输入旧密码:
strcpy(password,GetPassword());
if(!
HDMM(yh.get_ID(),password))
times++;
break;
}while(times<
if(times==3)
intt=1;
do{
★请输入新密码:
★请再次输入新密码:
strcpy(Xpassword,GetPassword());
t=strcmp(password,Xpassword);
//对新密码进行比较,如果相等,则返回0
if(t!
~您输入的密码不一致,请重新输入!
}while(t!
=0);
yh.set_password(password);
~密码修改成功,请您牢记!
LK()
~对不起,你输入的密码错误已达三次,您的卡已被没收!
exit
(1);
TC()
~请取走您的卡,感谢您的使用,欢迎您下次再来!
exit(0);
//YongHu.cpp
YongHu:
YongHu(charid[],floatMoney,charPassword[])//用户的构造函数
strcpy(ID,id);
//strcpy函数是复制两字符串的函数,头文件为<
money=Money;
strcpy(password,Password);
floatYongHu:
get_money()//获取余额函数
returnmoney;
char*YongHu:
get_ID()//获取卡号
returnID;
voidYongHu:
set_money(floatm)
money-=m;
get_password()//获取密码
returnpassword;
set_password(charPassword[])//设置密码
//main.cpp
intmain(void)
YongHuy1("
10000,"
//创建用户y1
ATMa(y1);
a.DLJM();
a.GNJM();
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟ATM自动取款机系统C 版完整 模拟 ATM 自动 取款 系统 完整
![提示](https://static.bdocx.com/images/bang_tan.gif)