最新C++课程设计报告-个人财务管理系统.doc
《最新C++课程设计报告-个人财务管理系统.doc》由会员分享,可在线阅读,更多相关《最新C++课程设计报告-个人财务管理系统.doc(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC+课程设计报告-个人财务管理系统C+语言程序设计 C+语言程序设计课程设计报告题 目:个人财政管理 年 级:2014级 专 业:信息与计算科学 学 号: 姓 名:指导教师:目录一、需求分析 2二、概要设计2三、详细设计33.1系统主界面设计43.2 收支模块设计53.3 统计管理模块设计5四、调试分析 64.1运行结果74.2调试结果84.3程序不足之处84.4改进
2、之处8五、小结 8附录.9【摘要】个人理财管理系统是一款管理个人财物的应用软件。该软件代替了手工记账的麻烦,可以方便的实现个人收支状况的浏览、添加、删除、修改、查询等功能,适合个人管理自己的日常收入收支情况。该系统运用了C+语言程序设计知识中的面向对象的思想,在VC+6.0集成开发环境下完成程序的编写。【关键词】个人理财;管理信息系统;面向对象;VC+6.0 1.需求分析:1)程序中的收支情况按时间顺序存放,将其放入一个文件中,每次运行程序时首先打开这个文件,程序运行完毕时将更新的记录放回文件中。2)可以按时间的范围检查账目,记在主菜单中增加检索的功能选项,输入时间范围即可打印出详细报表。3)
3、可以修改、删除某笔收入或支出。4)当输入时间发生错误(如月份超过12等),要求重新输入正确的时间;当结余的数目为负数时,打印出信息,警告已经超支。5)显示时,要求每笔收入和支出都要重新统计当前情况下的盈余数目。 2概要设计:系统的功能模块划分:整个系统分为收支管理,报表统计管理,系统管理等模块,收支管理模块分为添加收支,修改收支, 删除收支,统计管理模块分为收支管理,收支明细,系统管理分为,帮助,退出系统。开始进入系统收入支出用户管理数据维护信息查询信息输出退出系统结束个人财政管理收支管理统计管理系统管理添加收支修改收支查询收支删除收支收支管理收支明细帮助退出系统3详细设计:3.1系统主界面设
4、计主界面左侧有7个选项,分别为收入模式,支出模式,查看账目,制定目标,记录置零,退出系统,帮助,下侧为“请输入你的选择:”。相应代码:Manager main() /主函数 Manager mm; /创建对象char select; cprintf(=个人财政支出管理= );/显示标题# ifdef MINcoutnnn#调 试 模 式#endl;#endifcoutnnt 收入模式endl; /选择进入收入模式 coutnt 支出模式endl; /选择进入支出模式 coutnt 查看帐目endl; /选择进入查看帐目模式 coutnt 制定目标endl; /选择进入制定目标模式 coutnt
5、 记录置零endl; /选择记录置零coutnt 退出系统endl; /选择退出 coutnt 帮 助 endl;coutselect; if(select = 1)mm.Deposit();else if(select = 2)mm.Withdraw();else if(select = 3)mm.ViewTotal();else if(select = 4)mm.SetGoal();else if(select = 5)mm.SetZero();elseif(select = 0)coutnnnn程序功能简介:个人财政支出管理程序,完成收入,支出,盈余的记录和管理。主页面下选择数字键进入!
6、nn; coutendlendlendl;getch();main(); /回主函数elseif(select = 6)exit(1); /退出else main(); /回主函数 3.2 收支模块设计1-输入收入记录动态产生一个新的数据,调用存款函数输入记录,将指向其的指针添加到链表,进行排序。2-输入支出记录动态产生一个新的数据,调用取款函数输入记录,将指向其的指针添加到链表,进行排序。3-输出收入记录调用链表中Showlistdeposit()函数,这个函数指向数据类中的输出收入记录,定义一个指针,输出指针指向的数据,然后指针指向下一个指针直到链表尾部。4-输出支出记录调用链表中Show
7、listwithdraw()函数,其中这个函数指向数据类中的输出支出记录,定义一个指针,输出指针指向的数据,然后指针指向下一个指针直到链表尾部。3.3 统计管理模块设计1-查询收支记录调用链表中Showlistgetbanlance()函数,其中这个函数指向数据类中的数据,然后指针指向下一个指针直到链表尾部。2-按日期查找记录在数据类中有一函数可以比较日期,大的返回+1,小的返回+1,相等的返回0。在查找记录时先比较日期与链表中的日期是否有相等的,若有则定义一个指针指向该结点,调用函数输出该结点的所有记录,指针指向下一个指针,继续查找。3-按日期删除记录在数据类中有一函数可以比较日期,大的返回
8、+1,小的返回+1,相等的返回0。在删除记录时先比较日期与链表中的日期是否有相等的,若有则定义一个指针指向该结点,调用函数删除该结点的所有记录,指针指向下一个指针,继续查找。4调试分析:4.1运行结果:4.2调试结果程序上有小处编码错误,经过检查已经调试过来,调试成功。 4.3程序不足之处没有程序监控功能,当输入时间发生错误时,无法准确判断时间,当结余的数目为负数时,也无法及时提醒已经超支。4.4改进之处增加函数循环,置零功能,并在各函数中增加条件编译,达到测试程序目地。5小结: 转眼间一个学期就过去了,课程设计也接近尾声,在这几天的设计课程中,还是学到不少知识,课程一开始,拿到课题之后有点迷
9、茫,不知从何下手,感觉以自己所学的不够用来完成这次课程设计,查找过一些资料之后发现没有想象中那么复杂,做到管理模块设计的时候不太顺利,一开始也没理解模块设计的含义,经过老师指点后才知道怎么去做,总的来说,经过这几天的努力,课程设计也算是完成了,虽然现在的学习已经逐渐深入,但是以前学的知识还是要注意复习,多加练习,才能在遇到问题的时候不会手足无措。-附录# define MIN /调试模式时保留# define DE1 /调试模式时保留# define DE2 /调试模式时保留# define WI1 /调试模式时保留# define WI2 /调试模式时保留# define SG /调试模式时
10、保留# define VT /调试模式时保留# define SZ /调试模式时保留#include #include #include #include #include class date private: int year,month,day; public: void setdate(int y=0,int m=0,int d=0); void showdate(); ; void date:setdate(int y,int m,int d) cinymd; year=y; month=m; day=d; void date:showdate() coutyear年month月da
11、y日endl; class Manager /定义类Managerprivate: date time;double dAmt; /收入数目char ans; /存放键盘字符的ASCII码double num; /存入输入的数据double wAmt; /支出数目 double setAmt; /制定目标double gAmt; /取目标金额double balance; /收支金额double newbalance; /与目标所差金额public: /声名我所有的函数void Deposit(); /收入函数void Withdraw(); /支出函数void ViewTotal(); /查
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 C+ 课程设计 报告 个人 财务管理 系统
限制150内