ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:355.36KB ,
资源ID:8248526      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8248526.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(家庭财务管理课程设计报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

家庭财务管理课程设计报告.docx

1、家庭财务管理课程设计报告信息工程学院课程设计报告项目名称:家庭财务管理系统的分析和设计项目组长:叶项目成员:杨 刘班级名称:11信管3(本)专业名称:信管管理和信息系统完成时间:2012年5月21日信息工程学院制一、 案例描述(小四号字体,段前断后0.5行)1.、总体描述家庭财务管理系统是一个典型的管理信息系统,主要运用添加、删除、修改、查询、显示等操作,给用户提供了一个在计算机上实现家庭的各项财务收支管理的平台,能够为每一个家庭的管理者提供充足的信息和快捷的查询手段,极大地提高家庭财务管理的效率,方便家庭管理者的合理理财。2、模块描述1)菜单设计主界面由封面图案、收入管理、支出管理、统计四大

2、部分组成。其中,收入管理和支出管理两部分中各包含添加、查询、删除、修改、显示五大功能,而统计部分则包含统计总收入(总支出)的功能。封面主要利用ptintf函数,摆出各式各样的图形,又用上了system()更改了页面的背景颜色、字体颜色、家庭财务管理系统的标题,以求达到美化封面的作用,而其余六大功能则是完善该家庭财务管理系统。2)load模块通过创建链表完成初始化。链表创建完成后,把读取的资料先放在linshi中。该模块的创建为实现接下来的一系列功能打下坚实基础。3)cover模块作为程序的封面,对主界面的颜色、尺寸、图案进行设置,起到美化作用。同时,把程序里的每一项主要功能的名称显示到主界面上

3、,使界面更加亲近、友好,方便用户进入并进行使用,在不知不觉中提升了程序的档次。4)add模块:用于添加用户的信息。创建用户信息,依次输入家庭成员的姓名、收入(支出)的具体日期(可根据系统已有时间添加)、收入(支出)金额、收入(支出)备注等详细信息,完善用户的资料,并将其保存在文件记录中。添加完一人信息后,界面提示用户“是否继续添加?(Y or N)”。若选择继续添加,则重复上述步骤,添加用户信息,并将其详细信息一并保存到文件记录中,文件记录加1。其中,用type判断是收入还是支出。5)search模块用于查询已添加的用户的信息。以日期、姓名、金额等其中任意一项为关键词进行搜索并显示用户的详细信

4、息。若输入的关键词不存在,则提示用户“选择错误,请重新输入”。若输入关键词正确,则显示该联系人的所有相关信息。6)delete模块用于删除用户不需要或输入错误的用户的相关信息。首先,以姓名为关键词进行搜索并显示该联系人的所有已输入的信息。然后,提示用户需要删除该联系人的第几条信息,删除该条完毕后,提示用户“是否继续删除?(Y or N)”。若当前家庭成员所有信息均已删除,则再继续删除时,提示“家庭财务管理内无任何信息!”。7)show模块用于显示已输入的相关信息。该模块建立后,用户通过点击该模块的名称,系统先提示用户选择以同月、同日、姓名、全部信息等其中一项关键词为显示依据,选择所需要显示的同

5、一类型的详细信息,以便使所有信息一目了然,有利于用户核对之前所输入的信息,方便用户使用。8)save模块用于保存之前用户输入的所有用户的有用信息。该模块建立后,用户之前所输入的所有用户的详细信息皆可保存到指定文件中,方便用户在下一次使用时仍能轻松、便捷地找到其所需的有用信息。9)修改模块用于重新输入用户需要却输入错误的用户的相关信息。先以姓名为关键词查找到需要修改的用户的所有相关信息。然后删除该条输入错误的信息,并重新输入正确有效的信息,最后保存。二、 界面设计菜单:序号15:进行收入管理 序号610:进行支出管理序号1112:进行统计本软件界面友好,不难操作,根据页面提示进行操作即可。三、

6、模块化设计方案1、系统主要函数及功能(五号黑体)1)load函数: 创建链表,打开并读取文件,保存相关资料,起到一定的储存功能。2)添加功能: 添加用户的相关收支信息,用户可根据选项选择是用系统时间还是自己添加时间,然后再输入相关用户姓名、金额、备注等基本信息,之后可自行选择是否继续添加,最后系统会自动保存用户信息,返回系统用户界面。3)删除功能:用户输入需要删除的姓名后系统根据用户输入信息删除,之后还可自行选择是否继续删除,待所有删除完毕后,返回系统用户界面。4)修改功能:用户根据系统提示输入需要修改的姓名,然后根据用户输入信息进行删除、重新添加,之后自行选择是否继续,在全部修改成功之后,返

7、回系统用户界面。5)查询功能:用户根据系统提示输入判断资料,系统根据用户输入的信息进行查询,在查询成功之后,之后自行选择是否继续,否,则返回系统用户界面。6)显示功能:系统将根据用户的选择显示家庭财务管理系统中的相关信息。7)统计功能:系统将根据用户需要统计出总收入或总支出。8)退出功能:完成所有操作后,用户可以退出家庭财务管理系统。9)main函数:主函数提供用户操作界面(主菜单),供用户选择相应的功能模块。2、主函数调用各功能函数流程图四、 数据结构描述#include #include #include#include #include#define len sizeof(struct

8、manage)struct massage int year; int month; int day; int type; /1表示收入,-1表示支出 char name20; float money; char beizhu100; ;struct manage struct massage info; struct manage*next; ;int n,a=0; /计算结点数 struct manage*head=NULL; /使首结点为空 ,全局变量五、 算法设计 六、 程序运行结果 七、 总结1、 工作时间(5号黑色)封面 15分钟 添加功能1小时删除功能1小时 查询功能1小时修改功

9、能1小时 显示功能30分钟 统计 30分钟2、分工情况封面设计: 总体框架:流程图: 拓展功能: 显示功能设计: 报告模块描述: 2、 心得体会杨:家庭财务管理软件的开发主要考察我们对于C语言中的结构体函数、链表、指针及使用以文本方式建立文件和打开文件等知识的掌握。因为结构的复杂性,我们在编写过程中遇到了一系列的困难和错误。当然,对于初学者的我们而言,在程序运行中出现这些错误是在所难免的。但是当错误出现时,我们不能选择任其自生自灭,而是要怀着刻苦钻研的态度,通过团队协作的方式力争解决,做到允许用户排除环境错误继续运行程序。同时,在设计程序时还应该考虑全面,避免出现低级的漏洞。作为一名的信管专业

10、的学生,更加需要重视使用此程序设计,使得将来计算机可以在各个家庭中占有重要地位,也为计算机未来更长远的发展带来诸多可能的希望。同时也使各个家庭成员更多地了解计算机为计算机的广泛使用做好准备。刘:通过这次程序设计:一、让我懂得了只有平时多练习才能真正地掌握程序,学会分析这些程序的功能并正确的运用,了解程序的特点。二、然我明白认真和细心会让我们在编写程序时节约很多时间。三、团队的合作非常重要,这有利于我们团队成员之间取长补短,明确分工有利于我们更好的完成任务,并减少打酱油的人,从而确保每位成员都学到知识。在本次试验中,我们小组成员深刻的体会到了基础知识的重要性,在编写程序的过程中,我们小组遇到了很

11、多的问题,特别是细节问题在解决了问题后,我们明白了,只有拥有过硬的专业基础知识,在完成任务时才能得心应手,节省更多的时间。在本次试验中,我们成员之间彼此帮助,依彼之长,补彼之短,在工作中积极参与,服从分配,工作热情高涨,团队合作出色,并且,在老师的指导下圆满的完成了任务。这是全组沉吟不懈努力的结果,这让我们深刻体会到“知识就是力量”的道理。一个人的力量是有限的,但是大家的力量却是无限的。叶:在本次实验中,我们小组共同协作完成了“家庭财务管理”这个程序的大体设计。在完成这项任务的过程中,我们主要运用了C语言中指针、链表、以及系统时间相关知识进行了代码的编写,由于是指针、链表的知识是初学,因此我们

12、小组遇到了很多困难,特别是一些细节问题。但这丝毫没有影响我们对这项设计的热情。我们在图书馆研究、讨论,查阅相关书籍,尽自己最大的努力解决难题。遇到商讨后仍无法解决的问题,我们就虚心请教老师,在老师的点拨后继续努力钻研,最终完成了本次程序设计的实践要求。本次课题设计让我们对C语言有了进一步的了解,丰富了C语言这门学科的知识。同时,我们小组认为本次“家庭财务管理”软件的开发,是一次将计算机应用于现实管理的很有意义的实践,使用该系统将给用户的理财需求带来极大方便。附页(源代码附加注释)#include #include #include#include #include #include#defin

13、e len sizeof(struct manage)struct massage int year; int month; int day; int type; /1表示收入,-1表示支出 char name20; float money; char beizhu100; ;struct manage struct massage info; struct manage*next; ;int n,a=0,j; /计算结点数struct manage*head=NULL; /使首结点为空 ,全局变量 struct manage* load() /初始化 struct manage *q=NUL

14、L; struct manage *p; FILE *fp; fp=fopen(data11.txt,rb); /读取文件 if(fp!=NULL) struct massage lishi; / 将读取的资料先存放在lishi中 while(fread(&lishi, sizeof(struct massage),1,fp)=1) p=(struct manage *)malloc(len); p-info=lishi; p-next=NULL; if(head=NULL) head=p; q=p; else q-next=p; q=p; n+; fclose(fp); return(hea

15、d); void cover() /封面 system(cls); system(color 3b); system(mode con cols=70 ); system(title 家庭财务管理系统); printf(n);printf(n);printf(n);printf(n); printf(tt (info.year=local-tm_year+1900; p0-info.month=local-tm_mon+1; p0-info.day=local-tm_mday; else printf(日期:n); printf(年:);scanf(%d,& p0-info.year); pr

16、intf(月:);scanf(%d,&p0-info.month); printf(日:);scanf(%d,&p0-info.day); printf(姓名:);scanf(%s,p0-info.name); printf(金额:);scanf(%f,&p0-info.money); printf(备注:);scanf(%s,p0-info.beizhu); p0-info.type=type; if(head=NULL) /*原来的链表是空表*/ head=p0; p0-next=NULL; /*使p0指向的结点作为头结点*/ else for(p1=head;p1-next!=NULL;

17、 p1=p1-next); p1-next=p0; p0-next=NULL; /*插到最后的结点之后*/ n+; return(head); int date(int type) struct manage*p; int nian,yue,ri; printf(请输入要查询的日期:n); printf(年:);scanf(%d,&nian); printf(月:);scanf(%d,&yue); printf(日:);scanf(%d,&ri); for(p=head;p!=NULL;p=p-next) if(p-info.type=type&p-info.year=nian&p-info.

18、month=yue&p-info.day=ri) printf(日期:%d.%d.%dn,p-info.year,p-info.month,p-info.day); printf(姓名:%sn,p-info.name); printf(金额:%fn,p-info.money); printf(备注:%sn,p-info.beizhu); printf(*n); void mingzi(int type) struct manage*p; char mingz20; printf(请输入要查询的姓名:);scanf(%s,mingz); for(p=head;p!=NULL;p=p-next)

19、if(p-info.type=type&strcmp(p-info.name,mingz)=0) printf(日期:%d.%d.%dn,p-info.year,p-info.month,p-info.day); printf(姓名:%sn,p-info.name); printf(金额:%fn,p-info.money); printf(备注:%sn,p-info.beizhu); printf(*n); int jine(int type) struct manage*p; float mone; printf(请输入要查询的金额;);scanf(%f,&mone); for(p=head

20、;p!=NULL;p=p-next) if(p-info.type=type&p-info.money=mone) printf(日期:%d.%d.%dn,p-info.year,p-info.month,p-info.day); printf(姓名:%sn,p-info.name); printf(金额:%fn,p-info.money); printf(备注:%sn,p-info.beizhu); printf(*n); void search(int type) /查询功能 system(color 78); int choice; printf(请输入要查询的依据:n);printf(

21、tt1.日期:n);printf(tt2.姓名:n);printf(tt3.金额:n);scanf(%d,&choice); switch(choice) case 1:date(type);break;/根据日期查询 case 2:mingzi(type);break;/根据姓名查询 case 3:jine(type);break; /根据金额查询 default: printf(n);printf(n);printf(n);printf(选择错误,请重新输入n);printf(n); printf(n); int tongyue(int type) struct manage*p; int

22、 n,y; printf(请输入要显示的年月:n); printf(年:);scanf(%d,&n); printf(月:);scanf(%d,&y); printf(所有的记录是:n,n); for(p=head;p!=NULL;p=p-next) if(p-info.type=type&p-info.year=n&p-info.month=y) printf(日期:%d.%d.%dn,p-info.year,p-info.month,p-info.day); printf(姓名:%sn,p-info.name); printf(金额:%fn,p-info.money); printf(备注

23、:%sn,p-info.beizhu); printf(n); int tongxingming(int type)struct manage*p; char c20; printf(请输入要显示的姓名:);scanf(%s,c); printf(所有的记录是:n,n); for(p=head;p!=NULL;p=p-next) if(p-info.type=type&strcmp(p-info.name,c)=0) printf(日期:%d.%d.%dn,p-info.year,p-info.month,p-info.day); printf(姓名:%sn,p-info.name); pri

24、ntf(金额:%fn,p-info.money); printf(备注:%sn,p-info.beizhu); printf(n); int tongri(int type) struct manage*p; int n,y,r; printf(请输入要显示的年月:n); printf(年:);scanf(%d,&n); printf(月:);scanf(%d,&y); printf(日:);scanf(%d,&r); printf(所有的记录是:n,n); for(p=head;p!=NULL;p=p-next) if(p-info.type=type&p-info.year=n&p-inf

25、o.month=y&p-info.day=r) printf(日期:%d.%d.%dn,p-info.year,p-info.month,p-info.day); printf(姓名:%sn,p-info.name); printf(金额:%fn,p-info.money); printf(备注:%sn,p-info.beizhu); printf(n); struct manage *del(int type) system(color 78); struct manage *p1,*p2; char c20; int n,a=0; char mingz20; printf(请输入姓名:);scanf(%s,mingz); for(p1=head;p1!=NULL;p1=p1-next) if(p1-info.type=type&strcmp(p1-info.name,mingz)=0) printf(第%d条信息

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1