课程设计报告 课程设计题目: 家庭财务管理系统 学生姓名 : 专 业 : 信息工程 指导教师 : 2018 年 1 月 8 日 1. 需求分析 根据家庭账务管理的需要,建立一个“家庭账务管理系统” ,以方便对家庭日常收入及支出进行记 录和管理。该系统要求:①家庭月收入管理②家庭月支出管理③统计家庭总收入 供收入 / 支出的添加、删除和修改功能。 /总支出④系统提 2. 总体设计 根据以上分析,本家庭账务管理系统主要包括: ① 从键盘键入家庭月收入、月支出数据; ② 查询月收入、月支出明细; ③ 删除收入、支出数据; ④ 修改收入、支出数据; ⑤ 统计总收入 /总支出; ⑥ 退出系统。 除 main() 函数之外,系统还定义了以下函数来实现各部分内容: ① add_income():添加收入数据函数。 ② add_payout ():添加支出数据函数。 ③ search_data ():查找数据函数。 ④ ini tialize() :初始化函数,读取文本数据。 ⑤ show_info ():显示数据函数。 ⑥ count_total ():统计函数,统计总收入、总支出。 ⑦ update_data ():修改信息函数。 ⑧ delete_data ():删除数据函数。 ⑨ quit():退出函数。 程序结构功能图如下 3. 详细设计 3.1 收入管理 3.2 支出管理 4. 测试结果 4.1 程序运行主菜单 4.2 添加收入测试 4.3 查询收入明细测试 4.4 删除收入测试 4.5 修改收入测试 4.6 添加支出测试 4.7 查询支出明细测试 4.8 删除支出测试 4.9 修改支出测试 4.10 统计总收入 / 支出测试 4.11 退出系统测试5. 软件操作使用说明书 本系统采用命令行对话方式进行操作,运行后出现主界面(如下图所示) ,然后按照主界面菜 单指引操作即可。 6. 总结 编写程序之前要有一个整体的思路,不能写到哪里算哪里。这样很容易遗漏,连续性也不好。 通过 本次的课程设计让我对于数组、 文件的存放、 循环结构等知识有了更加透彻的理解。 希望在以后的 课程设计中对于知识的运用能够更加的熟练。 代码: #include #include #include #include #define MAXNAME 11 // 家庭成员姓名的最大长度 #define MAXDETAIL 21 // 注最大长度 // 自定义枚举类型 fi_type ,用来表示收入与支出 typedef enum _fi_type { income=1,// 收入 payout =-1 // 支出 } fi_type; // 家庭财务信息结构体 typedef struct _fi_info { int year; int month; fi_type type; char name[9]; float money; char detail[11]; }fi_info; // 存储财务数据结构的结构体 typedef struct _fi_data { fi_info info; struct _fi_data* next; } fi_data; fi_data *head;// 财务数据的头结点 void menu();// 菜单函数 void add_income(); void search_income(); void delete_income(); void update_income(); void add_payout(); void search_payout(); void delete_payout(); void update_payout(); 本文来源:https://www.wddqw.com/doc/d7650395d3d233d4b14e852458fb770bf68a3b5e.html