# Personal-bank-account-management
# (个人银行账户管理程序)
C++入手项目(《C++语言程序设计》(第4版)课本项目)
![](https://github.com/Harryx2019/Personal-bank-account-management/blob/master/%E8%BF%90%E8%A1%8C%E6%88%AA%E5%9B%BE%EF%BC%88%E7%AC%AC%E4%B9%9D%E7%AB%A0%EF%BC%89.png)
### 2020/7/11 第四章类和对象
完成项目类的设计,初步实现基本功能(开户、存钱、取钱、结算利息)
### 2020/7/13 第五章数据的共享与保护改进
1.为SavingsAccount类增加一个静态数据成员total,用来记录各个账户的总金额,并为其增加相应的静态成员函数getTotal用来对其进行访问。
2.将SavingsAccount类的诸如getBalance,accumulate这些不需要改变对象状态的成员函数声明为常成员函数。
3.对程序结构进行调整:将SavingsAccount类从主函数所在的源文件中分开,建立两个新的文件account.h和account.cpp,分别存放SavingsAccount类的定义和实现。
### 第六章数组、指针与字符串改进
在第五章的基础上,将描述账号的数据类型由int改为了string,将描述日期的数据类型由int改为了新定义的Date类,并且为deposit,withdraw和settle三个函数都增加了一个用来存储该笔账目说明信息的string型的desc参数,并且增加了一个专用于输出错误信息的error函数。
### 第七章继承与派生改进
增加信用账户,给出使用继承和派生的解决方案
两个不足:
①各个账户对象无法通过数组来访问,使得需要分别对每个对象执行某个操作时,只能分别写出针对各对象的代码,无法用循环来完成。
②不同派生类的deposit,withdraw,settle等函数彼此独立,只有知道一个实例的具体类型后才能调用这些函数。
### 第八章多态性改进
①针对第七章两个不足,引入虚函数和抽象类。
②对账户所做的各种操作都可以通过基类的指针来调用,因此可以把各账户对象的指针都放在一个数组中。
③主函数改为由用户输入账户编号、对账户的操作类型和操作的参数,以增强程序的灵活性。
④重载Date类“-运算符,实现distance函数的功能。
### 第九章群体类和群体数据的组织改进
使用动态数组类模板Array来代替C++预定义的数组类型完成同样的功能。由于Array数组允许动态改变大小,因此可以向Array数组中动态添加新的元素,从而使用户随时动态添加新的账户。
### 第十章泛型程序设计与C++标准模板库改进
①STL本身提供的向量容器vector能够很好的满足数组的需求。
②增加一个多重映射来存储每一笔账目,键—账目的日期,附加数据—账目的详细内容。
### 第十一章流类库与输入输出改进
①将用户输入的存款、取款、结算等各种命令保存下来,下次启动程序时将这些命令读出并执行,这样各个账户就能恢复到上次退出程序时的状态了。
②建立Controller类,用于保存账户列表、当前日期和处理指定命令。
③对Date类重载">>"、"<<"运算符 用于输入、输出日期。
### 第十二章异常处理改进
①当用户的输入不符合要求时获取异常。
②用户试图从一个账户中超额取款失败获取异常。
没有合适的资源?快使用搜索试试~ 我知道了~
C++入手项目(《C++语言程序设计》(第4版)课本项目).zip
共32个文件
tlog:6个
h:4个
obj:3个
需积分: 5 0 下载量 55 浏览量
2024-04-06
22:58:40
上传
评论
收藏 861KB ZIP 举报
温馨提示
C语言课程设计的优点主要体现在以下几个方面: 基础性强:C语言是一门基础性的编程语言,它直接涉及到计算机的内存管理、指针操作等底层知识。学习C语言有助于深入理解计算机的工作原理,为后续学习其他高级语言打下坚实基础。 可移植性好:C语言编写的程序可以在多种操作系统和硬件平台上运行,因此,学习C语言可以帮助学生掌握跨平台编程的技能,提高程序的可移植性。 效率高:C语言具有高效性,它可以直接访问硬件资源,执行效率高。在编写系统级软件、嵌入式系统、游戏开发等领域,C语言具有明显优势。 结构清晰:C语言采用结构化编程思想,有助于培养学生的逻辑思维能力和程序设计能力。通过C语言的学习,学生可以掌握如何合理组织代码、设计算法和数据结构。 资源丰富:C语言拥有丰富的学习资源和社区支持,包括教材、在线课程、论坛等。学生可以通过这些资源自主学习,解决遇到的问题,提高编程能力。 实践性强:C语言课程设计通常包含大量的实践环节,如编写小程序、实现算法等。这些实践环节有助于提高学生的动手能力和解决问题的能力,使他们更好地将理论知识应用于实际项目中。 综上所述,C语言课程设计具有基础性强、可移植性好、效率高、结构清晰、资源丰富和实践性强等优点。通过C语言的学习,学生可以掌握编程的基本技能,为后续的专业学习和职业发展奠定坚实基础。
资源推荐
资源详情
资源评论
收起资源包目录
C++入手项目(《C++语言程序设计》(第4版)课本项目).zip (32个子文件)
content
运行截图(第八章).png 32KB
个人银行账户管理程序.vcxproj 7KB
Array.h 2KB
commands.txt 194B
个人银行账户管理程序.sln 1KB
date.h 873B
运行截图(第九章).png 40KB
main.cpp 3KB
个人银行账户管理程序.vcxproj.filters 1KB
account.cpp 3KB
accumulator.h 734B
account.h 4KB
date.cpp 1KB
Debug
vc142.idb 251KB
vc142.pdb 548KB
个人银行账户管理程序.exe 191KB
account.obj 351KB
个人银行账户管理程序.tlog
CL.write.1.tlog 2KB
个人银行账户管理程序.lastbuildstate 190B
CL.command.1.tlog 2KB
link.command.1.tlog 3KB
link.read.1.tlog 3KB
link.write.1.tlog 726B
CL.read.1.tlog 46KB
date.obj 81KB
个人银行账户管理程序.pdb 1.01MB
个人银行账户管理程序.log 160B
个人银行账户管理程序.ilk 977KB
个人银行账户管理程序.vcxproj.FileListAbsolute.txt 204B
main.obj 468KB
README.md 3KB
个人银行账户管理程序.vcxproj.user 165B
共 32 条
- 1
资源评论
生瓜蛋子
- 粉丝: 3798
- 资源: 4426
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功