C++课程设计面向对象课程设计报告__银行管理系统完整报告.doc

上传人:飞****2 文档编号:78788288 上传时间:2023-03-19 格式:DOC 页数:19 大小:238KB
返回 下载 相关 举报
C++课程设计面向对象课程设计报告__银行管理系统完整报告.doc_第1页
第1页 / 共19页
C++课程设计面向对象课程设计报告__银行管理系统完整报告.doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《C++课程设计面向对象课程设计报告__银行管理系统完整报告.doc》由会员分享,可在线阅读,更多相关《C++课程设计面向对象课程设计报告__银行管理系统完整报告.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件工程学院实 验 报 告面向对象课程实践(银行存取款系统)* 姓 名 徐凯斌 院 (系) 软件工程学院 专业年级 英语+软件15班小 组第四组 学 号 教 室 软件工程实验室(开发)B144 日 期 2014年9月15日-2014年9月19日 目 录1、 需求与功能分析 22、 系统总体框架 23、 模块设计与分析 44、 类和结构的设计与分析 65、 特色算法分析 76、 功能测试 107、 存在的不足与对策 108、 程序源代码 179、 心得体会 17一、 需求与功能分析使用面向对象程序设计思想设计银行存取款管理系统,它可以帮助我们有效、准确的实现完整存取事件。此系统操作方便效率、安全

2、性高,只要客户开户并设定好密码就可以实现存取款。系统实现的主要功能模块有开户管理、存款管理、取款管理、销户、帐户信息查询和退出等功能。1 开户管理:用户自行输入用户名、密码、开户金额等即可开户成功。开户成功后会为用户生成一个用户账号。2. 存款管理:用户进入系统界面后跟据提示输入存款的用户账号,进行密码校验;密码确认成功后,输入相应存款金额即可。3. 取款管理:用户进入系统界面后根据提示输入取款的用户账号,进行密码校验;密码确认成功后,输入相应取款金额即可(如取款金额小于等于帐户余额,则提款成功,否则提示余额不足)。4. 销户管理:用户可根据自身需求进行销户处理。用户根据提示输入销户的用户帐号

3、,进行密码校验;密码确认成功后,再次提示是否要销户(0销户,1不销户),输入0后,才能正常销户,销户成功后,原用户将不能继续实现存取款功能。5. 账户信息查询管理: 根据提示输入查询用户账号,进行密码校验;密码确认成功后,即可显示用户名、帐户号、余额以及用户状态(正常或销户)。6. 退出功能:用户在完成所需功能实现后,根据指令退出程序。二、 系统总体框架 三、 模块设计与分析储蓄卡开户管理模块:3.1 主界面页面主要导航栏有:欢迎使用储蓄卡管理(开户、销户、存款、取款、账户信息、退出)3.2 开户页面输入卡号和密码,再输入开户金额。开户成功后,系统会分配一个六位数的账号给用户(第一个账号为默认

4、为)3.3 存钱页面从登录界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。从后台数据库中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据库。系统将显示存款成功。3.5 取款页面从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额则显示余额不足。3.6 账户信息页面从登录界面得到的卡号,并提供数据输入界面,输入密码后,显示出用户名,账户名,余额和用户状态信息。 3.7 销户页面选择销户选项,输入用户的账户号和密码后,系统会询问是否销户,输入0后,即销户成功。3.8 退出页面从关闭文件,最后关闭整个系统。列举取款模块进行分析:int

5、 Bank:draMon()double money = 0;Account* account = getAcoNum();if(ps- state = 0)cout n 该账户已销户,不能继续进行取款;return 0;if(account !=NULL & pasCheck(account)cout money;while(money account - money) int i = 0;cout money;if (i = 3 & money account -money)cout n 金额输入无效次数已超过 i 次,是否继续输入 j;if(j = 1)continue;if(j = 2

6、)cout money -= money;account - recordaccount -insert-= money;/char * ctime(const time_t *timer); account -insert +;cout n 取款成功.n;return 0;在取款页面中,若输入账户已销户,则输出:该账户已销户,不能继续进行取款。若存在该账户,输入取款金额并对取款金额与存款余额进行比较,如果三次都超过的话就输出: 金额输入无效次数已超过 3次,是否继续输入,如果取款金额小于存款余额的话就执行,并保存记录。四、 类的设计与分析1Bank 类class Bank 主要制定用户的成员

7、数据,并进行登录与保存功能: 画出Bank 类的类图相关代码:class Bank public:Bank();void bankEntrance();int creAco();int deposit();int draMon();int cloAco();int inquir(); Account* getAcoNum();bool pasCheck(Account* account);Bank();private:Account* head;Account* ps;Account* pEnd; int creAcoNum; ;表1 Bank类说明表名称属性说明Bank构造函数构建一个类成员

8、Bank析构函数bankEntrance数据成员系统首界面cloAco数据成员销户creAco数据成员开户deposit数据成员存款draMon数据成员取款inquir数据成员用户信息pasCheck数据成员效验密码getAcoNum数据成员账户信息的效验2Account结构Account结构 主要实现用户的各种功能:画出Account结构的结构图:Account结构相关代码struct Account std:string name;int acoNum;std:string passWord;double money;double record20;int insert;int state

9、;Account* right;Account* left; 五、 特色算法分析1.Bank类中的pasCheck方法 功能:输入密码并进行确认,如果密码确认三次失败,则退回主界面。 流程图: 暂无代码:bool Bank:pasCheck(Account* account) string pasWord; int i; cout pasWord ; for( i=0; i passWord != pasWord) cout pasWord ; else break; if(i=3) cout n 密码输入错误次数已超过3次,系统将自动跳转至系统首页n; return false; retur

10、n 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:七、 存在的不足 暂无对策 八、 程序源代码/*/* Bank.h */*struct Account std:string name;int acoNum;std:string passWord;double money;double record20;int insert;int state;Account* right;Account*

11、 left;class Bank public:Bank();void bankEntrance();int creAco();int deposit();int draMon();int cloAco();int inquir(); Account* getAcoNum();bool pasCheck(Account* account);Bank();private:Account* head;Account* ps;Account* pEnd; int creAcoNum; ;/*/* Bank.cpp */*#includestdafx.h#include#includeBank.h#i

12、ncludeiostream#include/#include time.h /#include stdio.h using namespace std;Bank:Bank() head = NULL;ps =NULL;pEnd = NULL; creAcoNum = ; void Bank:bankEntrance()int a = 0;cout *nn;cout * 欢迎进入银行存取款系统 *nn;cout *n;while( a=0 )cout n 请选择服务项目:n;cout *n * 1.开户 * 2.存款 * 3.取款 *n;cout *n * 4.销户 * 5.帐户信息* 6.退

13、出 *n;cout *n; cout a;switch(a)case 1: cout *开户*; a = creAco(); break;case 2: cout *存款*; a = deposit(); break;case 3: cout *取款*; a = draMon(); break;case 4: cout *销户*; a = cloAco(); break;case 5: cout *帐户信息*; a = inquir(); break;case 6: default: cout 退出.n; a = 1 ; return;cout *nn;cout * 谢谢您的使用。 *nn;c

14、out *n;int Bank:creAco()string name ;string passWord;double money;cout name;cout passWord;cout money;Account* account = new Account;account - name = name;account - passWord = passWord;account - money = money;account - acoNum = creAcoNum +;account - state = 1;for(int i=0; irecordi = 0;account - inser

15、t = 0;if(head = NULL)head = account;pEnd = head;pEnd -left = head;pEnd -right = head;cout n 您的账号为: acoNum left = ps;ps - right = pEnd;pEnd -right = pEnd;cout n 您的账号为: acoNum;return 0;int Bank:deposit()double money;Account* account = getAcoNum(); if(ps- state = 0)cout n 该账户已销户,不能继续进行存款;return 0;if(ac

16、count !=NULL & pasCheck(account)cout money; account - money += money;account - recordaccount -insert += money;account -insert +;cout state = 0)cout n 该账户已销户,不能继续进行取款;return 0;if(account !=NULL & pasCheck(account)cout money;while(money account - money) int i = 0;cout money;if (i = 3 & money account -

17、money)cout n 金额输入无效次数已超过 i 次,是否继续输入 j;if(j = 1)continue;if(j = 2)cout money -= money;account - recordaccount -insert-= money;/char * ctime(const time_t *timer); account -insert +;cout n 取款成功.n;return 0;int Bank:cloAco()Account* account = getAcoNum(); int i;if(pasCheck(account) cout i;if(i = 0)accoun

18、t - state = 0;cout n 销户成功.n;elsecout n销户取消n.;return 0;int Bank:inquir()Account* account = getAcoNum(); if(pasCheck(account)cout n 用户名: name n 帐户号: acoNum n 余额: money;if(account - state = 1) cout n 用户状态: 正常n;elsecout n 用户状态: 销户n; return 0;Account* Bank:getAcoNum() int acoNum; int i=0; cout acoNum;ps

19、= head;while(acoNum != ps - acoNum)if(ps = pEnd &ps - right = pEnd & acoNum != ps - acoNum)cout acoNum;ps = head;i +;ps = ps - right;if (i=3&acoNum != ps - acoNum)int j;cout n 账号输入错误次数已超过 i 次,是否继续输入 j;if(j = 1)continue;if(j = 2)return NULL; return ps; bool Bank:pasCheck(Account* account) string pasW

20、ord; int i; cout pasWord ; for( i=0; i passWord != pasWord) cout pasWord ; else break; if(i=3) cout n 密码输入错误次数已超过3次,系统将自动跳转至系统首页n; return false; return true;Bank:Bank();/ bankSystem.cpp : 定义控制台应用程序的入口点。/*/* bankSystem.cpp */*#includestdafx.h#includeiostream#include#includeBank.hint main()Bank* bank = new Bank();bank-bankEntrance();return 0;/*/* stdafx.h */*九、 心得与体会此次的上机实验,我所属小组的项目是银行管理系统。通过小组各成员的精确分工与合作关于本次实验的设计的银行存取款系统,完成如上。通过小组的分工,各自完成各个部分的程序内容,并进行整合通过实验,进一步掌握了面向对象的思路方法和内容,另一方面通过小组合作,模拟了在工作中共同完成项目的过程,加强了成员之间的合作关系,但是,仍存在许多关于技术方面的不足之处有待提升,在今后的学习中仍应当努力加强,通过不断提升自己的实践水平和技能,从中得到锻炼和提高。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁