1、密码确认成功后,即可显示用户名、号、余额以及用户状态(正常或销户)。6.退出功能:用户在完成所需功能实现后,根据指令退出程序。二、系统总体框架 三、模块设计与分析储蓄卡开户管理模块:3.1 主界面页面主要导航栏有:欢迎使用储蓄卡管理(开户、销户、存款、取款、账户信息、退出)3.2 开户页面输入卡号和密码,再输入开户金额。开户成功后,系统会分配一个六位数的账号给用户(第一个账号为默认为100000)3.3 存钱页面从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。从后台数据库中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据库。系统将显示存款成功。3.5 取款页面从登
2、录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则显示余额不足。3.6 账户信息页面从登录界面得到的卡号,并提供数据输入界面,输入密码后,显示出用户名,账户名,余额和用户状态信息。 3.7 销户页面选择销户选项,输入用户的账户号和密码后,系统会询问是否销户,输入0后,即销户成功。3.8 退出页面从关闭文件,最后关闭整个系统。列举取款模块进行分析:int Bank:draMon() double money = 0; Account* account = getAcoNum(); if(ps- state = 0) cout n 该账户已销户,不能继续进
3、行取款; return 0; if(account !=NULL & pasCheck(account) cout money; while(money account - money) int i = 0;n 余额不足!请输重新入有效的取款金额: cin if (i = 3 & money money) cout n 金额输入无效次数已超过 i 次,是否继续输入 j; if(j = 1) continue; if(j = 2) cout recordaccount -insert-= money; /char * ctime(const time_t *timer);insert +;n 取
4、款成功.n return 0;在取款页面中,若输入账户已销户,则输出:该账户已销户,不能继续进行取款。若存在该账户,输入取款金额并对取款金额与存款余额进行比较,如果三次都超过的话就输出: 金额输入无效次数已超过 3,如果取款金额小于存款余额的话就执行,并保存记录。四、类的设计与分析1Bank 类class Bank 主要制定用户的成员数据,并进行登录与保存功能: 画出Bank 类的类图相关代码:class Bank public: Bank(); void bankEntrance(); int creAco(); int deposit(); int draMon(); int cloAco
5、(); int inquir(); Account* getAcoNum(); bool pasCheck(Account* account); Bank();private: Account* head; Account* ps; Account* pEnd; int creAcoNum;表1 Bank类说明表名称属性说明Bank构造函数构建一个类成员Bank析构函数bankEntrance数据成员系统首界面cloAco销户creAco开户deposit存款draMon取款inquir用户信息pasCheck效验密码getAcoNum账户信息的效验2Account结构Account结构 主要
6、实现用户的各种功能:画出Account结构的结构图:Account结构相关代码struct Account std:string name; int acoNum;string passWord; double money; double record20; int insert; int state; Account* right; Account* left;五、特色算法分析1.Bank类中的pasCheck方法 功能:输入密码并进行确认,如果密码确认三次失败,则退回主界面。 流程图: 暂无代码:bool Bank:pasCheck(Account* account) string pas
7、Word; int i; cout pasWord ; for( i=0; i passWord != pasWord) n 密码输入错误!请您重新您的密码: else break; if(i=3)n 密码输入错误次数已超过3次,系统将自动跳转至系统首页n return false; return true;六、功能测试 6.1 首页:图6-1:6.2开户页面 图6-2:6.3 存款页面 图6-3:6.4 取款页面 图6-4 6.5账户信息页面 图6-5:6.6销户页面 图6-6:6.7退出页面从保存数据并关闭文件,关闭整个系统。 图6-7:七、存在的不足暂无对策 八、程序源代码/*/* Ba
8、nk.h */* Bank.cpp *#includestdafx.h#includeBank.hiostream/#include time.hstdio.husing namespace std;Bank:Bank() head = NULL;ps =NULL;pEnd = NULL; creAcoNum = 100000; void Bank:bankEntrance() int a = 0; *nn * 欢迎进入银行存取款系统 *nn *n while( a=0 )n 请选择服务项目:n *n *1.开户*2.存款3.取款*n4.销户5.信息6.退出 a; switch(a) case
9、 1: cout Account* account = new Account; name = name; passWord = passWord; money = money; acoNum = creAcoNum +; state = 1; for(int i=0;20; i +)recordi = 0; insert = 0; if(head = NULL) head = account; pEnd = head; pEnd -left = head;right = head;n 您的账号为: head - acoNum right = pEnd;right = pEnd;n 您的账号为
10、: pEnd - acoNum; return 0;deposit()n 该账户已销户,不能继续进行存款n 请输入存款金额: money += money;insert += money;n 存款成功.ncloAco() if(pasCheck(account)n 请确定是否要销户(0销户,1不销户): i; if(i = 0) state = 0;n 销户成功.nn销户取消n.return 0;inquir()n 用户名: namen 号: state = 1)n 用户状态:正常n else销户nAccount* Bank:getAcoNum() int i=0;n 请输入您的账号: ps
11、= head; while(acoNum != ps - acoNum) if(ps = pEnd &ps - right = pEnd & acoNum ! acoNum)n 账号输入错误!请您重新输入您的账号: ps = head; i +; ps = ps - right; if (i=3&acoNum ! int j;n 账号输入错误次数已超过 bankEntrance();/* stdafx.h *九、心得与体会此次的上机实验,我所属小组的项目是银行管理系统。通过小组各成员的精确分工与合作关于本次实验的设计的银行存取款系统,完成如上。通过小组的分工,各自完成各个部分的程序容,并进行整合通过实验,进一步掌握了面向对象的思路方法和容,另一方面通过小组合作,模拟了在工作中共同完成项目的过程,加强了成员之间的合作关系,但是,仍存在许多关于技术方面的不足之处有待提升,在今后的学习中仍应当努力加强,通过不断提升自己的
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1