银行多文件系统
来源:互联网 发布:淘宝小二怎么联系 编辑:程序博客网 时间:2024/06/10 05:06
01.//文件:bank.cpp 02.#include<iostream> 03.using namespace std; 04.int account1=123; 05.int pwd1=123456; 06.double balance1=1000; 07. 08.//用全局变量保存当前登录的帐户 09.int currentAccount; 10. 11.//声明自定义函数 12.int checkStatus(); 13.void work(); 14. 15.int main() 16.{ 17. int status; 18. char ch; 19. cout<<"贺家银行欢迎您光临……(本系统目前只有一个用户,帐号123,初始密码123456)"<<endl; 20. while(1) //支持用户多次登录办理业务 21. { 22. status=checkStatus(); 23. if(1==status) 24. work(); 25. else if(2==status) 26. cout<<"欢迎下次光临……"<<endl; 27. else 28. cout<<"吞卡,请联系就近网点解决……"<<endl; 29. cout<<"=====要退出系统,请按键Q,其他键继续下一位用户登录======"<<endl; 30. fflush( stdin ); //清空输入缓冲区,否则getchar()自动获得 31. ch=getchar(); 32. if(ch=='q'||ch=='Q')break; 33. } 34. 35. return 0; 36.} //文件:bank.cpp#include<iostream> using namespace std; int account1=123;int pwd1=123456;double balance1=1000;//用全局变量保存当前登录的帐户int currentAccount;//声明自定义函数int checkStatus();void work();int main() { int status;char ch;cout<<"贺家银行欢迎您光临……(本系统目前只有一个用户,帐号123,初始密码123456)"<<endl;while(1) //支持用户多次登录办理业务{status=checkStatus();if(1==status)work();else if(2==status)cout<<"欢迎下次光临……"<<endl;elsecout<<"吞卡,请联系就近网点解决……"<<endl;cout<<"=====要退出系统,请按键Q,其他键继续下一位用户登录======"<<endl;fflush( stdin ); //清空输入缓冲区,否则getchar()自动获得ch=getchar();if(ch=='q'||ch=='Q')break;}return 0;}[cpp] view plaincopyprint?01.//文件 password.cpp,有关密码的功能 02.#include<iostream> 03.using namespace std; 04. 05.//在本文件中需要的函数声明 06.int checkStatus(); 07.void updatePassword(); 08. 09.//外部全局变量 10.extern int account1; 11.extern int pwd1; 12.extern double balance1; 13.extern int currentAccount; 14. 15./*检验密码 16.*在很多的应用程序中,需要涉及到运行实体的“状态” 17.*相比上一个版密码校验的函数pass(),其返回值:通过-true; 不通过-false 18.*这个方案用checkStatus()可以返回更多的信息(状态) 19.*返回值约定: 20.1 - 用户名、密码正确,可以进一步工作 21.2 - 用户名放弃登录正常退出 22.3 - 三次登录失败吞卡后退出 23.*/ 24.int checkStatus() 25.{ 26. int iStatus=3; //默认吞卡的结局 27. int iPass; 28. int num=1; 29. char goOn; 30. cout<<"请输入帐户"; 31. cin>>currentAccount; //currentAccount是全局变量 32. do 33. { 34. if(num==1) 35. cout<<"请输入密码"; 36. else 37. { 38. cout<<"温情提示:这是您第"<<num<<"次输入密码,三次不对将吞卡。"<<endl; 39. cout<<"还要继续尝试吗(继续输入Y,退出输入N,之后回车):"; 40. cin>>goOn; 41. if('Y'==goOn||'y'==goOn) 42. cout<<"请再次输入密码"; 43. else 44. { 45. iStatus=2; //用户放弃登录 46. break; 47. } 48. } 49. cin>>iPass; 50. num++; 51. if(currentAccount==account1&&iPass==pwd1) //帐户 52. { 53. iStatus=1; //密码对了 54. break; 55. } 56. }while(num<4); //密码不正确且次数在允许范围内循环 57. //如果在循环因为num==4为真而退出,iStatus的值还保持初始3,代表吞卡 58. return iStatus; //返回状态 59.} 60. 61.void updatePassword() 62.{ 63. int p1,p2; 64. if(currentAccount==account1) //确定帐户,目前只有一个帐户,真银行不这样,待改进 65. { 66. cout << "请输入新密码:"; 67. cin >> p1; 68. cout << "请确认新密码:"; 69. cin >> p2; 70. if(p1==p2)//两次输入相符 71. { 72. pwd1=p1; 73. cout<<"密码修改成功!"<<endl; 74. } 75. else 76. { 77. cout<<"两次输入不一致,密码修改失败。"<<endl; 78. } 79. } 80.} //文件 password.cpp,有关密码的功能#include<iostream> using namespace std; //在本文件中需要的函数声明int checkStatus();void updatePassword();//外部全局变量extern int account1;extern int pwd1;extern double balance1;extern int currentAccount;/*检验密码*在很多的应用程序中,需要涉及到运行实体的“状态”*相比上一个版密码校验的函数pass(),其返回值:通过-true; 不通过-false*这个方案用checkStatus()可以返回更多的信息(状态)*返回值约定:1 - 用户名、密码正确,可以进一步工作2 - 用户名放弃登录正常退出3 - 三次登录失败吞卡后退出*/int checkStatus(){int iStatus=3;//默认吞卡的结局int iPass;int num=1;char goOn;cout<<"请输入帐户";cin>>currentAccount; //currentAccount是全局变量do{if(num==1)cout<<"请输入密码";else{cout<<"温情提示:这是您第"<<num<<"次输入密码,三次不对将吞卡。"<<endl;cout<<"还要继续尝试吗(继续输入Y,退出输入N,之后回车):";cin>>goOn;if('Y'==goOn||'y'==goOn)cout<<"请再次输入密码";else{iStatus=2; //用户放弃登录break;}}cin>>iPass;num++;if(currentAccount==account1&&iPass==pwd1) //帐户{iStatus=1; //密码对了break;}}while(num<4); //密码不正确且次数在允许范围内循环//如果在循环因为num==4为真而退出,iStatus的值还保持初始3,代表吞卡return iStatus; //返回状态}void updatePassword(){int p1,p2;if(currentAccount==account1) //确定帐户,目前只有一个帐户,真银行不这样,待改进{cout << "请输入新密码:";cin >> p1; cout << "请确认新密码:";cin >> p2; if(p1==p2)//两次输入相符{pwd1=p1; cout<<"密码修改成功!"<<endl;}else{cout<<"两次输入不一致,密码修改失败。"<<endl;}}}[cpp] view plaincopyprint?01.//文件 money.cpp,有关存、取、转款的函数定义 02.#include<iostream> 03.using namespace std; 04. 05.//外部全局变量 06.extern int account1; 07.extern int pwd1; 08.extern double balance1; 09.extern int currentAccount; 10. 11.//在本文件中需要的函数声明 12.void showbalance(); 13.void drawmoney(); 14.void deposit(); 15.void transferAccounts(); 16.void updatePassword(); 17. 18.//处理业务 19.void work() 20.{ 21. char cChoice; 22. bool bExit = false; 23. do 24. { 25. cout<<endl<<"* 您可以办理下面的业务:"<<endl; 26. cout<<"* 1.查询"<<endl; 27. cout<<"* 2.取款"<<endl; 28. cout<<"* 3.存款"<<endl; 29. cout<<"* 4.转账"<<endl; 30. cout<<"* 5.修改密码"<<endl; 31. cout<<"* 0.退出"<<endl; 32. cout<<"* 请输入(0-4):"; 33. cin>>cChoice; 34. switch(cChoice) 35. { 36. case '1': 37. showbalance(); 38. break; 39. case '2': 40. drawmoney(); 41. break; 42. case '3': 43. deposit(); 44. break; 45. case '4': 46. transferAccounts(); 47. break; 48. case '5': 49. updatePassword(); 50. break; 51. case '0': 52. cout<<"欢迎您下次来存款. "<<endl; 53. bExit=true; 54. } 55. }while(!bExit); 56. return; 57.} 58. 59.//查询余额 60.void showbalance() 61.{ 62. if(currentAccount==account1) //确定帐户,目前只有一个帐户,真银行不这样,待改进 63. cout<<"您的当前余额是:"<<balance1<<"元"<<endl; 64.} 65. 66.//取款 67.void drawmoney() 68.{ 69. double money; 70. if(currentAccount==account1) //确定帐户,目前只有一个帐户,真银行不这样,待改进 71. { 72. cout << "请输入取款金额:"; 73. cin >> money; 74. //下面不计利息了,从现在起,我们的银行只提供银行卡业务,是定期统一计息的 75. if(money<=balance1) 76. { 77. balance1-=money; //取款成功 78. cout<<"取款后,您的余额是:"<<balance1<<"元。"<<endl; 79. } 80. else 81. { 82. cout<<"您的余额不足,取款失败。"<<endl; 83. } 84. } 85.} 86.//存款 87.void deposit() 88.{ 89. double money; 90. if(currentAccount==account1) //确定帐户,目前只有一个帐户,真银行不这样,待改进 91. { 92. cout << "请输入存款金额:"; 93. cin >> money; 94. //下面不计利息了,从现在起,我们的银行只提供银行卡业务,是定期统一计息的 95. balance1+=money; //取款成功 96. cout<<"存款后,您的余额是:"<<balance1<<"元。"<<endl; 97. } 98.} 99. 100.//转帐 101.void transferAccounts() 102.{ 103. double money; 104. int iAccount2; 105. if(currentAccount==account1) //确定帐户,目前只有一个帐户,真银行不这样,待改进 106. { 107. cout << "请输入转帐金额:"; 108. cin >> money; 109. cout << "请输入对方帐户:"; 110. cin >> iAccount2; //应该判断对方帐户的有效性再转账,暂时不做,待以后改进 111. 112. if(money<=balance1) 113. { 114. balance1-=money; //取款成功 115. //此处应该为对方帐户增加余额,暂时略 116. cout<<"转账后,您的余额是:"<<balance1<<"元。"<<endl; 117. } 118. else 119. { 120. cout<<"您的余额不足,转账失败。"<<endl; 121. } 122. } 123.}
现在看不太明白,以后留着再看