- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c课程设计个人财政支出管理南京理工大学
南 京 理 工 大 学
C++课程设计报告
姓名:谢记超
一、课程设计题目:个人财政支出管理 (A 级)
程序功能简介:将个人财物的目标及当前存款、支出保存下来,可随时更新查看,比
较盈余与目标的差距。
设计要求:
(1)将收支的数据与相应的函数封装到类中,并改写主程序,使程序结构化。
(2)增加保存每笔收支的记录,并对每笔记录增加日期录入,按日期顺序保存查
看记录。将所有记录放入一个文件中,每次运行程序时首先打开这个文件,
程序运行完毕时将更新的记录放回文件中。
(3)完善程序,补充类中数据成员(dlbalance)的计算和输出,要求每笔收入和支出
都要重新统计当前情况下的盈余数目。
(4)增加程序监控功能,当输入时间发生错误 (如月份超过十二),要求重新输入
正确的时间;当结余数目为负数时,输出信息,警告已超支。
二、对题目的分析,以及功能的实现
类:Clist(链表类)
(指针成员指向类cnode 的对象
CNode 类Clist 的各数据成员
(指针成员pData 指向CFinance 的 以及成员函数
对象)
类cnode 各数据成员以及成 类CFinance的数据成员以及
员函数 成员函数
关键的四个类
1.classCFince 数据类2.classCNode 结点类
3.classCList 链表类4.classCRecord 处理类
两个函数
1. 判断日期是否正确的函数 2.main ()函数
实现如下功能
1. 程序的结构化,将各函数封装到类中。
2. 数据的保存与读取。
3. 数据的处理,用相应函数实现
4. 优化处理,界面美观,人性化提示,数据输入的监控
三、 程序设计过程中遇到的问题与解决方法
1. 开始做出的程序添加收入与支出记录是未进行日期检查,导致不实际的日期
IsDateRight if
也被录入。对于日期的检查用了函数 来实现,其中应用了 语
句,switch语句帮助实现该功能。
2. 数据的保存与读取开始实现不了,保存下来的数据格式不正确,打不开,再
次运行时上次的数据也未能读取。最终在classCRecord 处理类中添加void
ReadFromFile() void SaveToFile()
和 实现了这个功能,里面用到了输入输出流
ifstream ofstream
和 ,实现数据的保存与再次读取是很高兴的,最令人兴奋的
是关闭程序后可以在文本文件中看到收支记录!
3. 数据类 结点类 链表类 数据处理类的编写是很复杂的,环环相扣,数据类、
节点类是基础,链表类将数据串起来,然后再用数据处理类中的函数处理链
表中的数据!这四大类真是让人费劲心思!当时实现这个生产链时,那是相
当有成就感的!
4. 如何区分开收入与支出记录输出,当时困扰了我很久,实在不希望不能实现
收入记录与支出记录的分开显示,后来发觉可以通过判断函数的值来判断该
笔记录是收入还是支出,最终实现了查看收入记录则只显示收入记录,查看
支出记录只显示支出记录。
5. 累计计算余额,实现超支预警,
voidCRecord::Vi
原创力文档


文档评论(0)