家庭支出管理系统—c语言程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
..
程序设计报告(2015 / 2016 学年第二学期)
题目:家庭支出管理系统
专业微电子科学与工程组长学号姓名
组员学号姓名
指导教师棣华
指导单位
日期2016年 6 月3日
家庭支出管理系统
一、课题容和要求
1、该系统要求对一个家庭某月的支出情况进行统计和分析。通过此课题,熟练掌握
数组、指针的各种操作,以及一些算法思想的应用。
2、功能要求:
(1)支出信息包括:
支出类型(主要可以分为饮食,服饰装扮,礼金,教育培训,电器,健身,通讯,子女培养,旅游,文化娱乐,医疗,交通,聚会,居住等小项),金额,消费地点,消费时间等。
(2)需要实现的功能:
1)用户根据口令进入系统
2)输入某一月份,完成该月份的支出管理
3)输入并统计该月的支出情况
4)显示该月支出信息表,容应包括日期,金额等
5)按支出类型进行分类统计和排序
6)进行本月消费分析,即分析每项支出所占总支出的百分比,
并显示分析结果
7)显示按支出类型排序后的支出信息
8)将排序后的容存为文件。
(3)界面友好,输入信息符合逻辑如存款金额不为负数、不可能有非数字的字符等。
二、需求分析
家庭支出管理系统的功能框架图如图1所示。
图1 功能框架图
(1)功能选择函数:此函数是为了让用户根据主界面选择功能并根据提示来进行操作。
(2)输入函数:为了实现将各个支出项目的类别,支出的金额以及消费的时间,地点等存入需要的文件里,所以必须先要存在存储器里。
(3)输出函数:即通过行列表来直观对应存储文件中的项目的类别,金额,消费时间及地点。
(4)分析函数:读取本月的存储文档中的信息,对本月的消费进行分析,求出本月
的消费总和,分析出每项支出所占总支出的百分比,通过他们各自的项目金额所占的百分比来直观显示那个指出比较重要。随后与本月收入进行比较,求出收支比。
(5)类别排序函数:就是将输入的信息进行按类别排序。
(6)保存函数:将本次添加的信息进行保存到相应月份的支出信息文档中。
(7)登录界面:因为家庭支出管理系统涉及到私人财务,所以需要利用密码函数对程序进行保密。因此只有在输入正确的口令后才能进入该系统。同时添加了一个随机验证码的验证过程。
(全文中的(1)、(2)、(3)等格式必须统一为中文括号或者英文括号。)
(中文字体:宋体,英文字体:Times New Roman,小四号,不加粗,两端对齐,1.5倍行距,首行缩进2字符,段前段后距为0)
三、概要设计
1 主要结构体
(二级标题格式:宋体,小四号,不加粗,两端对齐,不缩进,下同)
typedef struct// 定义结构体
{
char type[20];// 消费类型
float Getsum;// 消费金额
char place[20];// 消费地点
int time;// 消费时间
}family;
family fam[80];
2 主要函数流程图
(1) 登录界面:包括密码函数,采用数组赋值并与预设值逐字比较的法进行密码验
证。以及验证码函数,验证码采用srand(time(NULL))与p[0]=rand()%1000产生一个0-1000的随机数作为验证码。如图1所示
是否正确
密码验证
菜单界面N=0;N=N+1
N>5?
是
是
图1
(2)主函数:包括菜单显示函数以及功能选择函数,菜单显示函数在屏幕上输出选择界面,功能选择函数利用选择结构进入不同的功能函数模块,模块如下列所示。在十二个月份存储文件齐全的情况下,各功能可随意使用,无使用上的顺序要求。如图二所示;
开始菜单选择
区
功能选择
功能执行
结束是否返回
是
否
开始
定义一个字符数组
输入信息
对“种类”赋值
对“支出”赋值
对“地点”赋值
对“时间”赋值
是否返回
结束
否
是
图2 图3
(3)功能模块一信息添加函数:利用输入函数将支出信息赋值给fam,然后利用类别整理函数进行类别整理,最后利用选择结构选择某一月份,打开该月份的信息存储文档,进行信息的写入,最后关闭文件。如图3,图4所示。
开始选择月份
进入该月份相应的语句块打开该月相应存储文件
打开成功
逐条写入数组元素信息
关闭文件
结束
输出“打开失败”
是
否
开始
选择月份
进入该月份所在
文件
打开文件成功
读取第一条信息
指针是否指向文件末尾
退出循环
结束
输出打印读取信息
读取下一条信息
是
是
否
否
图4 图5
(4)功能模块二信息显示函数:利用选择结构打开某一月份的信息存储文档,然后读取其中的信息并逐行显示在屏幕上然后关闭文件。如图5,图6所示。
开始
定义一个整型数组,
i=0,J=0
i J J=J+1 前元素type=后元素type 将元素GetSum 大 的值置前 前元素type>后元素type 交换前后元素type 的值 i 在屏幕上输出完成排序后的数组 结束 前元素type<后元素type 否 是是 是 是 否 否 否 图6 (5)功能模块三信息分析函数:利用选择结构打开某一月份的存储文件,读取该月信息,求消费总和并求出各项支出占总支出比,随后可以输入本月的收入以求出本月的收支比。如图7所示。