c++课程设计个人财政支出管理南京理工大学.docVIP

c++课程设计个人财政支出管理南京理工大学.doc

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

您可能关注的文档

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档