您的位置:首页 > 其它

第12周项目5:银行系统,任务三:将程序多文件组织

2013-11-17 12:02 555 查看
/*
将任务2中的代码,涉及密码、帐户的函数放在一个文件中,完成各项功能的函数放在另一个文件中,main函放也单独一个文件。

参考解答:

main.cpp——称为测试文件,是程序执行开始的文件,用于“总控”程序的执行

*/
#include<iostream>
using namespace std;
int password = 123456;
double balance = 10000;

bool pass();
void work();

int main()
{
cout<<"贺家银行欢迎您光临……"<<endl;
if(pass())
work();
else
cout<<"不要着急,想好了再输入……"<<endl;
return 0;
}


/*
work.cpp(文件名由你取)——包含完成各项银行业务的函数(术语中也称模块)
*/
#include<iostream>
using namespace std;//本文件中的涉及输入输出,写包含文件与指定命名空间有必要。
extern double balance; //指出这个全局变量来自别的文件,是外部全局变量

void showbalance();
void drawmoney();
void deposit();
void transferAccounts();
void updatePassword();

//处理业务
void work()
{
char cChoice;
bool bExit = false;
do
{
cout<<endl<<"*  您可以办理下面的业务:"<<endl;
cout<<"*  1.查询   2.取款  3.存款  4.转账  5.改密  0.退出"<<endl;
cout<<"*  请输入(0-5):";
cin>>cChoice;
switch(cChoice)
{
case '1':
showbalance();
break;
case '2':
drawmoney();
break;
case '3':
deposit();
break;
case '4':
transferAccounts();
break;
case '5':
updatePassword();
break;
case '0':
cout<<"欢迎您下次来存款. "<<endl;
bExit=true;
}
}
while(!bExit);
return;
}

//查询余额
void showbalance()
{
cout<<"您的当前余额是:"<<balance<<"元"<<endl;
}

//取款
void drawmoney()
{
double money;

cout << "请输入取款金额:";
cin >> money;
//下面不计利息了,从现在起,我们的银行只提供银行卡业务,先不计息的
if(money<=balance)
{
balance-=money; //取款成功
cout<<"取款后,您的余额是:"<<balance<<"元。"<<endl;
}
else
{
cout<<"您的余额不足,取款失败。"<<endl;
}

}
//存款
void deposit()
{
double money;
cout << "请输入存款金额:";
cin >> money;
//下面不计利息了,从现在起,我们的银行只提供银行卡业务,是定期统一计息的
balance+=money; //取款成功
cout<<"存款后,您的余额是:"<<balance<<"元。"<<endl;
}

//转帐
void transferAccounts()
{
double money;
int iAccount2;
cout << "请输入转帐金额:";
cin >> money;
cout << "请输入对方帐户:";
cin >> iAccount2; //应该判断对方帐户的有效性再转账,暂时不做,待以后改进

if(money<=balance)
{
balance-=money; //取款成功
//此处应该为对方帐户增加余额,暂时略
cout<<"转给"<<iAccount2<<"后,您的余额是:"<<balance<<"元。"<<endl;
}
else
{
cout<<"您的余额不足,转账失败。"<<endl;
}
}
/*
password.cpp——包含涉及密码的函数
*/
#include<iostream>
using namespace std;  //本文件中的涉及输入输出,写包含文件与指定命名空间有必要。
extern int password;  //指出这个全局变量来自别的文件,是外部全局变量

//检验密码
//返回值:通过-true; 不通过-false
bool pass()
{
bool bPass=false;   //先假设不正确,直至正确后赋值为true
int iPass;
int num=1;
do
{
cout<<"请输入密码";
if(num>1)
cout<<"(提示:这是第"<<num<<"次输入密码,三次不对将吞卡)";
cin>>iPass;
num++;
if(iPass==password)
bPass=true;
}
while(!bPass&&num<4);   //密码不正确且次数在允许范围内
return bPass;  //密码正确为true,表示通过,反之……
}

void updatePassword()
{
int p1,p2;
cout << "请输入旧密码:";
cin >> p1;
if(p1!=password)
{
cout<<"旧密码输入不正确,不允许修改密码。"<<endl;
}
else
{
cout << "请输入新密码:";
cin >> p1;
cout << "请确认新密码:";
cin >> p2;
if(p1==p2)//两次输入相符
{
password=p1;
cout<<"密码修改成功!"<<endl;
}
else
{
cout<<"两次输入不一致,密码修改失败。"<<endl;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: