《C课程设计面向对象课程设计--银行管理系统》由会员分享,可在线阅读,更多相关《C课程设计面向对象课程设计--银行管理系统(19页珍藏版)》请在金锄头文库上搜索。
1、软件工程学院实 验 报 告面向对象课程实践(银行存取款系统)* 姓 名 院 系 软件工程学院 专业年级 英语+软件15班小 组 学 号 教 室 软件工程实验室开发B144 日 期 2021年9月15日-2021年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 开户页面输入卡号和密码,再输入开户金额。开户成功后,系统会分配一个六位数的账号给用户第一个账号为默认为1000003.3 存钱页面从登录
4、界面得到卡号,并提供数据输入界面,等待用户的输入存款金额。从后台数据库中找到该用户余额记录,修改余额,并将该存款事件的相应信息写人数据库。系统将显示存款成功。3.5 取款页面从登录界面得到卡号,并提供数据输入界面,等待用户输入取款金额,如果取款金额大于该用户卡上的余额那么显示余额缺乏。3.6 账户信息页面从登录界面得到的卡号,并提供数据输入界面,输入密码后,显示出用户名,账户名,余额和用户状态信息。 3.7 销户页面选择销户选项,输入用户的账户号和密码后,系统会询问是否销户,输入0后,即销户成功。3.8 退出页面从关闭文件,最后关闭整个系统。列举取款模块进行分析:int Bank:draMon
5、()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)cout money
6、-= 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构造函数构建一个类成员Bank析构函数b
8、ankEntrance数据成员系统首界面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;Account*
9、 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; 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:七、 存在的缺乏 暂无对策 八、 程序源代码/*/* Bank.h */*struct Account std:string name;int acoNum;std: