银行
来源:互联网 发布:大主宰 源码 编辑:程序博客网 时间:2024/04/26 19:55
/*将任务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; 不通过-falsebool 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; } }}