C++课程设计报告 个人财务管理系统 下载本文

内容发布更新时间 : 2024/12/22 17:27:51星期一 下面是文章的全部内容请认真阅读。

else main(); //回主函数 }}}}}} }

3.2 收支模块设计

1-输入收入记录

动态产生一个新的数据,调用存款函数输入记录,将指向其的指针添加到链表,进行排序。

2-输入支出记录

动态产生一个新的数据,调用取款函数输入记录,将指向其的指针添加到链表,进行排序。

3-输出收入记录

调用链表中Showlistdeposit()函数,这个函数指向数据类中的输出收入记录,定义一个指针,输出指针指向的数据,然后指针指向下一个指针直到链表尾部。

4-输出支出记录

调用链表中Showlistwithdraw()函数,其中这个函数指向数据类中的输出支出记录,定义一个指针,输出指针指向的数据,然后指针指向下一个指针直到链表尾部。

3.3 统计管理模块设计

1-查询收支记录

调用链表中Showlistgetbanlance()函数,其中这个函数指向数据类中的数据,然后指针指向下一个指针直到链表尾部。

2-按日期查找记录

在数据类中有一函数可以比较日期,大的返回+1,小的返回+1,相等的返回0。在查找记录时先比较日期与链表中的日期是否有相等的,若

5

有则定义一个指针指向该结点,调用函数输出该结点的所有记录,指针指向下一个指针,继续查找。

3-按日期删除记录

在数据类中有一函数可以比较日期,大的返回+1,小的返回+1,相等的返回0。在删除记录时先比较日期与链表中的日期是否有相等的,若有则定义一个指针指向该结点,调用函数删除该结点的所有记录,指针指向下一个指针,继续查找。

4.调试分析: 4.1运行结果:

6

7

4.2调试结果

程序上有小处编码错误,经过检查已经调试过来,调试成功。

4.3程序不足之处

没有程序监控功能,当输入时间发生错误时,无法准确判断时间,当结余的数目为负数时,也无法及时提醒已经超支。

4.4改进之处

增加函数循环,置零功能,并在各函数中增加条件编译,达到测试程序目地。

5.小结:

转眼间一个学期就过去了,课程设计也接近尾声,在这几天的设计课程中,还是学到不少知识,课程一开始,拿到课题之后有点迷茫,不知从何下手,感觉以自己所学的不够用来完成这次课程设计,查找过一些资料之后发现没有想象中那么复杂,做到管理模块设计的时候不太顺利,一开始也没理解模块设计的含义,经过老师指点后才知道怎么去做,总的来说,经过这几天的努力,课程设计也算是完成了,虽然现在的学习已经逐渐深入,但是以前学的知识还是要注意复习,多加练习,才能在遇到问题的时候不会手足无措。

8

附录

# define MIN //调试模式时保留 # define DE1 //调试模式时保留 # define DE2 //调试模式时保留 # define WI1 //调试模式时保留 # define WI2 //调试模式时保留 # define SG //调试模式时保留 # 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) {

cin>>y>>m>>d; year=y; month=m; day=d; }

void date::showdate()

{ cout<

class Manager //定义类Manager {

private:

date time;

double dAmt; //收入数目

char ans; //存放键盘字符的ASCII码 double num; //存入输入的数据 double wAmt; //支出数目 double setAmt; //制定目标 double gAmt; //取目标金额 double balance; //收支金额

9