运用C++语言,模拟24小时运营的ATM机,实现其五大功能:
1、余额查询
2、取款
3、存款
4、转账
5、密码修改
代码:
#include<iostream.h>
#include<conio.h>
char *password() //定义输入密码的函数
{
int j;
char *n=new char[4]; //定义指向一个具有4个char型元素数组的首地址
for(j=0;j<4;j++) //输入密码,并以*显示
{
n[j]=getch();
cout<<"*";
}
cout<<"\n";
return n;
}
int login(char *m) //定义账户的登录函数
{
int i,j;
char *n;
cout<<" 登录 "<<endl;
cout<<"************"<<endl;
for(i=1;i<4;i++) //记录输错密码的次数
{
cout<<"请输入密码:"<<endl;
n=password();
for(j=0;j<4;j++) //判断密码是否错误
{
if((*m++)!=(*n++))
{
cout<<"密码错误!"<<endl;
break;
}
}
if(j==4)
{
cout<<"登录成功!"<<endl;
break;
}
}
return i;
} //调用getch函数的头文件
double yue(double a) //定义查询余额的函数
{
cout<<"当前余额:"<<a<<"元"<<endl;
return a;
}
double qukuan(double a) //定于取款的函数
{
int b;
while(1) //判断输入的格式是否正确
{
cout<<"请输入取款金额:"<<endl;
cout<<"(注意:金额需为100的整数倍,且在100~10000)"<<endl;
cin>>b;
if((b%100)!=0)
cout<<"输入错误,请重新输入"<<endl;
else break;
}
cout<<"取款成功!\n"<<"请取走您的钞票"<<endl;
a-=b;
return a;
}
double cunkuan(double a) //定义存款的函数
{
int b;
cout<<"请把钞票放入指定位置!"<<endl;
while(1)
{
cout<<"请输入存款的金额:"<<endl;
cin>>b;
if((b%100)!=0)
cout<<"输入错误,请重新输入"<<endl;
else break;
}
cout<<"存款成功!\n"<<"请及时查看!"<<endl;
a+=b;
return a;
}
double zhuanzhang(double a) //定义转账的函数
{
char user[19];
double b;
cout<<"请输入对方的账号:"<<endl;
cin>>user;
while(1)
{
cout<<"请输入转账金额:"<<endl;
cin>>b;
if(b<0)
cout<<"输入错误,请重新输入"<<endl;
else break;
}
cout<<"转账成功!\n"<<"请及时查看!"<<endl;
a-=b;
return a;
}
char *mima(char m[4]) //定义修改密码的函数
{
int i;
char *s1=new char[4],*s2=new char[4];
while(1)
{
cout<<"请输入旧密码:"<<endl;
s1=password();
for(i=0;i<4;i++)
{
if(s1[i]!=m[i])
{
cout<<"密码错误!"<<endl;
break;
}
}
if(i==4)
{
cout<<"密码正确!"<<endl;
break;
}
}
cout<<"请输入新密码:"<<endl;
s2=password();
cout<<"密码修改成功!"<<endl;
return s2;
}
void main()
{
int a,i;
double balance;
char name[10],account[19],*word[4];
cout<<"**欢迎使用24小时运营ATM机**"<<endl;
cout<<"为了方便您的操作,请提供以下信息:\n"<<endl;
cout<<"请输入您的姓名:";
cin>>name;
cout<<"请输入您的账号:";
cin>>account;
cout<<"请输入您的密码:";
*word=password();
cout<<"请输入您的余额:";
cin>>balance;
cout<<"\n";
i=login(*word);
if(i==4)
cout<<"密码错误三次,你的账号已被冻结!"<<endl;
else
{
cout<<"****ATM为您服务****"<<endl;
cout<<"请选择操作对应的标号:\n"<<endl;
while(1)
{
cout<<"1-查询余额"<<endl;
cout<<"2-取款 "<<endl;
cout<<"3-存款 "<<endl;
cout<<"4-转账业务"<<endl;
cout<<"5-密码修改"<<endl;
cout<<"0-退卡\n"<<endl;
cin>>a;
if(a==0)
{
cout<<"退卡成功!"<<endl;
break;
}
else switch(a) //判断使用什么功能
{
case 1: yue(balance);break;
case 2: balance=qukuan(balance);break;
case 3: balance=cunkuan(balance);break;
case 4: balance=zhuanzhang(balance);break;
case 5: *word=mima(*word);break;
}
cout<<"\n是否继续?"<<endl;
}
}
}