问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:bank2.cpp
*作 者:单昕昕
*完成日期:2014年11月16日
*版 本 号:v1.0
*
*问题描述:一个简单的银行模拟系统
*程序输出:各项业务代码对应的业务处理情况。
*/
#include <iostream>
using namespace std;
const long PASSWORD=123456; //定义一个全局变量
bool password(long n);
void work();
long showbalance(long);
long drawmoney(long);
long deposit(long);
long transferAccounts(long);
long updatePassword(long);
int main()
{
long n;
cout<<"Attack on bank 欢迎您的光临~!"<<endl;
cout << "请输入您的密码:" << endl;
if(password(n)) //验证密码是否正确
{
work();
}
else //密码必须正确才能进入系统哦
cout<<"对不起,您输入的密码有误,请不要捉急,请仔细核实后再次登陆我们的系统~!"<<endl;
cout<<"谢谢您的使用~!O(∩_∩)O~"<<endl;
return 0;
}
bool password(long n) //查验密码功能做成一个bool函数
{
int i=0; //i表示可以输入密码的次数,现假定每位用户最多只能三次输入密码
bool pass=false; //先假设密码不正确,以便能够进入到do-while循环
do
{
cin>>n;
i++; //每输入一次密码,可输入的总次数就减少一次
if(n==PASSWORD)
pass=true; //密码正确即为true
}
while (n!=PASSWORD&&i<3); //密码输入不正确而且输入的总次数不足3次
return (pass);
}
void work() //办理业务的work函数
{
cout<<"* 您可以办理以下的业务:"<<endl;
cout<<"* 1.查询业务"<<endl;
cout<<"* 2.取款业务"<<endl;
cout<<"* 3.存款业务"<<endl;
cout<<"* 4.转账业务"<<endl;
cout<<"* 4.转账业务"<<endl;
cout<<"* 5.修改密码"<<endl;
cout<<"请输入0-5的业务代码:"<<endl;
int t;
long n,lm=33;
while (cin>>t&&t!=0) //只要输入不是0,就可以继续办理业务
{
switch(t) //根据输入的业务代码进行处理
{
case 1:
lm=showbalance(lm); //调用余额显示函数
break;
case 2:
lm=drawmoney(lm);
break;
case 3:
lm=deposit(lm);
break;
case 4:
lm=transferAccounts(lm);
break;
case 5:
n=updatePassword(n);
break;
case 0:
cout<<"您将会退出我们的系统~欢迎再次使用!"<<endl; //输入为0时退出循环
cout<<"谢谢您的使用~!O(∩_∩)O~"<<endl;
break;
default :
cout<<"请检查输入的业务代码(0-5),并重新输入"<<endl;
cout<<"谢谢您的使用~!O(∩_∩)O~"<<endl;
break;
}
}
}
long showbalance(long lm)
{
cout<<"您的账户余额为:"<<lm<<"元。"<<endl;
cout<<"谢谢您的使用~!O(∩_∩)O~"<<endl;
cout<<"如需办理其他业务,请继续输入其他的业务代码。"<<endl;
return (lm);
}
long drawmoney(long lm)
{
long gm;
cout<<"请您根据您的账户余额酌情取款~"<<endl;
cout<<"请输入您的取款金额:"<<endl;
cin>>gm; //输入取款金额
if(gm>lm) //取款金额要比余额少才对嘛
cout<<"不好意思,信息错误~请核实后再次输入~"<<endl;
else
{
cout<<"取款成功~!请检查现额并拿好您的money~"<<endl;
lm=lm-gm; //账户余额=现有金额-取款金额
cout<<"您的余额还有:"<<lm<<"元。"<<endl;
}
cout<<"谢谢您的使用~!O(∩_∩)O~"<<endl;
cout<<"如需办理其他业务,请继续输入其他的业务代码。"<<endl;
return (lm);
}
long deposit(long lm)
{
long dm;
cout<<"请输入您要存入的金额:"<<endl;
cin>>dm; //输入存款金额
if(dm<=0) //存款金额必须大于0
cout<<"输入错误!请检查并重新输入~"<<endl;
else
{
lm=lm+dm;//账户余额=现有金额+存款金额
cout<<"存款成功!"<<endl;
cout<<"您的余额还有:"<<lm<<"元。"<<endl;
}
cout<<"谢谢您的使用~!O(∩_∩)O~"<<endl;
cout<<"如需办理其他业务,请继续输入其他的业务代码。"<<endl;
return (lm);
}
long transferAccounts(long lm)
{
long tm,num;
cout<<"请输入目标账户的卡号:"<<endl;
cin>>num;
cout<<"请输入要转入该账户的金额:"<<endl;
cin>>tm;
if(tm>lm||tm<=0) //转账金额要比余额少才对嘛
cout<<"不好意思,信息错误~请核实后再次输入~"<<endl;
else
{
lm=lm-tm;
cout<<"转账成功~!"<<endl;
cout<<"您的余额还有:"<<lm<<"元。"<<endl;
}
cout<<"谢谢您的使用~!O(∩_∩)O~"<<endl;
cout<<"如需办理其他业务,请继续输入其他的业务代码。"<<endl;
return (lm);
}
long updatePassword(long n)
{
long n_1,n_2;
cout << "请输入您的旧密码:" << endl;
cin>>n; //输入密码
if(n==PASSWORD) //验证密码是否正确
{
cout<<"请输入您的新密码:"<<endl;
cin>>n_1;
cout<<"请再次确认输入您的新密码:"<<endl;
cin>>n_2;
if(n_1==n_2) //两次新密码输入要一致
{
n=n_1; //将新密码覆盖旧密码
cout<<"您的密码修改成功!"<<endl;
}
else
{
cout<<"两次新密码输入不一致,请核查。"<<endl;
}
}
else //密码必须正确才能进入系统哦
cout<<"对不起,您输入的密码有误,请不要捉急,请仔细核实后再次登陆我们的系统~!"<<endl;
return (n);
}
运行结果:
知识点总结:
调用函数好多啊啊啊啊啊!!要晕死了!
学习心得:
写了两个小时就出来这么个玩意儿。。感觉还是有不少漏洞。。待我再学习学习吧。。