家庭财务记账系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计报告
2012年 07 月 07 日
通信与信息工程学院实验报告
设计题目:家庭财务记账系统
一、程序设计的要求
1、要求设计一个家庭财务的记录系统,记录家庭的收入、支出明细,并且对访
问者有权限要求。
2、要求写出设计报告,报告中要求写出总体设计框架和详细程序分析。
3、6名学生分一组,选出组长共同完成。在报告中各个同学要明确写出自己所
做的工作,并由组长认可评定。
4、手写及设计方案均用A4制打印以便统一装订成册,并且要求上交电子文本。
二、程序设计分组
本小组成员共6个人,可评出一个组长,其中有两人负责在图书管查资料,一人负责写实验报告,剩余4个人每人编辑若干个程序功能,并且在运行无误后交上.。
三、程序设计环境
1.硬件环境:每生一台机
2.软件环境:Vc ++ 6.0
四、总体设计
(—)功能模块设计
1.添加收入信息
主菜单中选择 1的时候进行添加收入操作,系统调用 add_income()函数来添加收入信息,首先建立单链表,函数调用 input_info()函数提示用户输入收入信息,并存储到单链表中,输入完成后返回到主菜单界面。
2.查询收入明细
主菜单中选择 2的时候进行查询收入明细操作,系统调用 search_income()函数来查询收入的明细,调用 search_data()函数来完成具体的查询操作。首先提示用户输入要查询的年月,如果用户输入错误,给出输入错误的提示信息,如果用户输入正确,在单链表中查找该年月的收入信息,如果查找成功,按照指定格式显示找到的收入信息。每页显示 9条收入信息,如果找到的收入信息多余 9条,按空格键翻页。如果没有找到任何信息,系统给出提示信息。查找成功后提示用户是否继
续查询操作,如果用户输入
“Y”或“y”,则再次进行查询操作;否则,返回主菜单界面。
3.删除收入信息
主菜单中选择 3的时候进行删除收入信息的操作,调用delete_data()函数进行删除收入的操作。首先提示用户输入要删除收入的年月,然后根据用户输入的年月信息在单链表中查找相关信息,如果查找成功调用 show_info()函数显示查找到的收入信息,每页最多显示 9 条信息,如果查找到的收入信息多余 9 条,则按空格键翻页,最后提示用户输入要删除的收入信息的序号,完成删除的操作。如果查找不成功,给出相应的提示信息。删除操作结束后,提示用户是否继续删除的操作,如果用户输入“Y”或“y”,则再次进行查询操作;否则,返回主菜单界面。
4.更新收入信息
主菜单中选择 4 的时候进行更新收入信息的操作,调用update_data()函数进行更新收入的操作。首先,提示用户输入要更新收入的年月,然后,根据用户输入的年月信息在单链表中查找相关信息。如果查找成功则调用 show_info()函数,显示查找到的收入信息,每页最多显示 9 条信息;如果查找到的收入信息多于 9 条,则按空格键翻页,最后提示用户输入要更新的收入信息的序号,调用input_info()函数,输入更新的收入信息,完成更新的操作。如果查找不成功,则给出相应的提示信息。更更新操作结束后,提示用户是否继续进行更新操作,如果用户输入“Y”或“y”,则再次进行查询操作;否则,返回主菜单界面。
5.添加支出信息
主菜单中选择 5 的时候进行添加支出操作,系统调用 add_income()函数来添加支出信息。添加支出信息的操作与添加收入信息的操作相似。
6.查询支出明细
主菜单中选择 6 的时候进行查询支出明细操作,系统调用 search_income()函数来查询支出的明细,调用 search_data()函数来完成具体的查询操作。查询支出明细的操作与查询收入明细的操作相似。
7.删除支出信息
主菜单中选择 7 的时候进行删除支出信息的操作,调用 delete_data()函数进行删除支出的操作。删除支出的操作与删除收入的操作相似。
8.更新支出信息
主菜单中选择 8 的时候进行统计操作,调用 update_data()函数进行更新支出的操作。更新支出的操作与更新收入的操作相似。
9.统计收入、总支出
主菜单中选择 9 的时候进行统计操作,调用count_total()函数进行总收入、总支出的统计。在单链表中,计算收入和支出的总和,并将两者想见得到家庭收入的结余,并按一定的格式显示出来。统计结束后,按任意键返回主菜单界面。
10.退出系统
主菜单中选择 0 的时候退出系统,调用quit()函数进行退出操作,首先调用save-to-file()函数,将单链表中的数据保存到文件,再调用clear_data()函数清空单链表,最后退出系统。
家庭财务管理的功能模块如图所示。
家庭财务管理的功能模块
(二)程序处理流程
系统的执行应从系统菜单的选择开始,允许用户输入0~9之间的数值来选择要进行的操作,输入其他字符都是无效的,系统会给出错误的提示信息。若用户输入0,调用quit()退出系统;若输入一,则调用add_income()函数,进行添加输入操作;如输入2,则调用search_income()函数,进行查询收入明细;若输入3,则调用delete_income函数,进行删除收入操作,若用户输入4,则调用update_income 函数,修改收入操作;若输入5,则调用add_payout()函数,进行添加支出操作;若输入6,则调用search-payout()函数,进行查询支出明细操作;如输入7,则调用delete_payout(),进行删除支出操作;若输入8,则调用update_payout()函数,进行修改支出操作;若输入9,则调用count——total()函数,进行统计总收入、总支出操作。其处理流程入图所示。