《面向对象程序设计》课程设计家庭财务管理系统.doc_第1页
《面向对象程序设计》课程设计家庭财务管理系统.doc_第2页
《面向对象程序设计》课程设计家庭财务管理系统.doc_第3页
《面向对象程序设计》课程设计家庭财务管理系统.doc_第4页
《面向对象程序设计》课程设计家庭财务管理系统.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南城建学院 面向对象程序设计 课程设计 设计说明书 课程名称 面向对象程序设计 课程设计 设计题目 家庭财务管理系统 指导教师 班 级 学 号 学生姓名 同组人员 计算机科学与工程系 2011 年 6 月 23 日 目 录 第第 1 章章 选选 题题 2 1 1 题目背景 2 1 2 系统实现的具体分工 2 1 2 1 选题 2 1 2 2 团队分工 3 1 3 开发环境 3 第第 2 章章 设计内容设计内容 3 2 1 实现功能 3 2 2 概要设计 涉及类的框图 4 2 3 界面设计 6 第第 3 章章 系统实现系统实现 6 3 1 涉及知识点 6 3 2 系统运行 主要运行界面抓图 7 3 3 源程序清单 关键代码 7 第第 4 章章 测试与实验结果测试与实验结果 16 第第 5 章章 结束语结束语 17 参考文献参考文献 17 第 1 章 选 题 1 1 题目背景 近几年来 随着我国城乡居民收入的增加和生活水平的提高 家庭理财已成为人们居家过日子 的重要内容 社会学家细心的观察到 时下家庭的 小九九 比之计划经济年代 开始发生微妙的 变化 现在的城乡家庭生活发生了明显的变化 人们的收入逐渐拉开档次 消费水平也高了 大多 数家庭关注的是提高生活质量 一方面精打细算 量入为出 把钱用在刀刃上 另一方面保证适当 的娱乐活动 社会交际 智力开发等方面的开支 为此 不少家庭就有中长期财务预算 有基本建 设规划 总的说来 家庭理财必须以量入为出为原则 以财产保值增值为目标 处理好积累和消费的关 系 因此 应树立以下四个观念 第一 资金运动质量观 资金 包括现金 有价证券 存款等 运动 是家庭经济活动的价值 反应 家庭理财应管好用活资金 加速资金周转 提高资金利用效果 力争做到结构合理 偿债能 力强 经济效益高 家庭财务做为资金的载体 应力争实现其保值增值 第二 资金使用责任观 家庭财产作为社会资源的一部分 有责任创造社会财富 履行社会责 任 为适应我国经济发展的要求 家庭可根据自身状况 适当投资 适度超前消费 第三 经济效益观 家庭经济生活的基本目标 是在满足生活最佳需要的基础上 实现家庭财 力的最大化 因此家庭理财要与经济效益挂钩 必须处理好投入与产出的关系 规避各种经济风险 堵塞各种经济漏洞 增收节支 当好家理好财 不断提高经济效益 第四 利益协调观 家庭作为社会的细胞 它无疑又是一个利益结合体 从该意义上讲 家庭 理财实质就是处理协调家庭内部及与各有关的经济方面的经济利益关系 在理财实践中 要坚持公 正 公平 诚实和守信的原则 妥善处理好家庭内部利益关系 家庭与国家及有关经济单位的利益 关系 1 2 系统实现的具体分工 家庭财务的中心内容账务管理 人们几乎每一天都会经过许多次货币活动 其中包括了买入卖 出实物 娱乐消费 起居饮食消费 还有发放工资 收缴保费等 如果能把各类不同的活动进行分 类 建立不同的账户 分别对活动进行管理 那么无论现在还是将来 你的账务就会清楚明白了 每天 我们对自己账务的操作有如下几类 添加新的数据项 比如今天我卖出了多少元 生活 中 我们就要对自己还有多少元 现在我们把这些工作放到程序里去实现 就是这样的操作 某账 户今天是添加还是减少 比如对元的操作就是减少 做到程序里 把它存放到一个数据表里就可以 了 归结后 账户的操作一般如下 新添 删除 增加 减少 查找 统计 对重要的数据表记录 还可以打印 1 2 1 选题 现代社会家庭的理财观念进一步提高 理财手段变得更加丰富 随着生活水平和文化水平的提 高 家庭购买电脑的能力和应用电脑的能力开始提高 电脑及其应用的普及化 人们应用电脑进行 家庭财务管理的观念增强 因此 开发一个通用性家庭理财软件已经成为社会需求 本系统是一个 家庭通用型理财软件 系统目标是把适合家庭化管理的各种理财手段及家庭日常收支管理实现计算 机化管理 使对家庭及家庭成员的收支活动更好地进行记录并加以统计分析成为可能 也使家庭理 财变得方便 快捷 全面 1 2 2团队分工 表 1 1 项目分工一览表 角色姓名承担的具体任务 组长周广敬程序的整体构架 功能实现 组员郭黎阳功能的实现 组员时兴平调试运行程序 查错 改错 1 3 开发环境 编程工具 visual c 6 0 机型 方正电脑 处理器名称 intel r core tm 2 duo cpu e7200 2 53ghz 硬盘驱动器 wdc wd1600aajs 22waao 系统内存 金士顿内存 2gb 显示卡 nvidia geforce 9400 gt 显示器 方正科技 fg981 w9 操作系统 microsoft windows xp professional 第 2 章 设计内容 2 1 实现功能 家庭财务的中心内容账务管理 人们几乎每一天都会经过许多次货币活动 其中包括了买入卖 出实物 娱乐消费 起居饮食消费 还有发放工资 收缴保费等 如果能把各类不同的活动进行分 类 建立不同的账户 分别对活动进行管理 那么无论现在还是将来 你的账务就会清楚明白了 每天 我们对自己账务的操作有如下几类 添加新的数据项 比如今天我卖出了多少钱 生活 中 我们就要对自己还有多少钱 今天所得的利润进行统计 现在我们把这些工作放到程序里去实 现 就是这样的操作 某账户今天是添加还是减少 比如对钱的操作就是减少 如果与这个操作相 关的账户是现金 做到程序里 把它存放到一个数据表里就可以了 归结后 账户的操作一般如下 新添 删除 增加 减少 查找 转账 统计 2 2 概要设计 涉及类的框图 finance 类类 private 私有成员变量私有成员变量 int tag 删除标记 1 已删 0 未删 int no 财务编号 char name 20 姓名 int acount int ontag int date 财务日期 public 公共函数声明公共函数声明 finance char getname return name 获取姓名 int getno return no 获取财务编号 int getacout return acount int gettag return tag 获取删除标记 int getontag return ontag int getdate return date 获取日期 void setname char na 设置 void delfinance tag 1 删除财务 void addfinance int da int n char na int nu 增加财务 int borrowfinance 支出操作 void retfinance 收入操作 void disp 输出财务 bdatabase 类类 private 私有成员变量私有成员变量 int top 财务记录指针 finance finance maxb 财务记录 public 公共函数声明公共函数声明 bdatabase 构造函数 将 finance txt 读到 finance 中 void clear 全部删除 int addfinance int da int n char na int nu 增加收入 finance query int financeid 查找财务 void financedata 财务维护 void financecount 财务统计 void financecount int data 按月财务统计 void disp 显示财务 bdatabase 析构这个类 表表 1 1 业务流程图符号业务流程图符号 符号名称说明 实体数据的源点 终点 输入 输出 表示输入或输出的报表 处理 能改变数据值或数据位置的加工或部 件 数据流 用来连接其他符号 指明数据流动方 向 存储表示任何种类的联机存储 收入支出表 收入支出帐簿 账务 设置信息 收入支出管理 用户 时间 类型 总计 统计 文件记录 2 3 界面设计 在用户界面部分 根据需求分析结果 用户需要一个友善界面 在界面设计上 应做到简单明 了 易于操作 并且要注意到界面的布局 应突出的显示重要以及出错信息 在界面设计部分 本 系统为用户提供友好 方便 直观 简洁的操作环境 可供用户选择的项目主要有 退出 新增账 务 删除账务 查找账务 显示所有账务 总计 第 3 章 系统实现 3 1 涉及知识点 类封装 面向对象程序设计 数组的应用 循环语句的使用 过程化设计的思想 等 3 2 系统运行 主要运行界面抓图 图 3 1 系统主界面 系统功能实现 3 3 源程序清单 关键代码 程序主函数程序主函数 include include include include include finance h include bdatabase h using namespace std void bdatabase financedata char choice char bname 40 int danum int financeid int acount int date finance b while choice 0 cout endl cout n n t t 欢迎进入家庭财务收支系统 endl cout endl cout 菜单 endl cout endl cout 0 退出 endl cout 1 新增账务 endl cout 2 更改账务 endl cout 3 删除账务 endl cout 4 查找账务 endl cout 5 显示所有账务 endl cout 6 总计 endl cout 7 按时间统计 endl cout 8 全部删除 endl cout 9 将信息存入文件 endl cout endl cout endl cout choice switch choice case 1 cout 输入财务编号 financeid cout 输入家庭成员名 bname cout 输入金额 acount cout 输入时间 如 2010 年 7 月写成 20107 danum addfinance danum financeid bname acount break case 2 cout 输入财务编号 financeid b query financeid if b null cout 该财务不存在 endl break cout 输入新的家庭成员名 bname b setname bname break case 3 cout 读入财务编号 financeid b query financeid if b null cout 该财务不存在 delfinance break case 4 cout 读入财务编号 financeid b query financeid if b null cout 该财务不存在 disp break case 5 cout setw 6 时间 setw 6 编号 setw 18 家庭成员名 setw 10 收支类别 setw 10 金额 endl disp break case 6 financecount break case 7 cout 请输入年月 date financecount date break case 8 clear cout 删除成功 endl break case 9 break default cout 请重新输入 main 函数的实现 程序的主界面的引导函数的实现 程序的主界面的引导 void main char choice int financeid bdatabase bookdb while choice 0 system cls cout n t to o 欢迎使用家庭理财管理系统 n cout endl cout 主菜单 endl cout endl cout 1 进入家庭理财管理系统 endl cout endl cout 0 退出 endl cout endl cout choice switch choice case 1 bookdb financedata break case 0 break default return bdatabase h 头文件头文件 bdatabase 类的声明类的声明 include include include include include finance h ifndef bdatabaseh define bdatabaseh const int maxb 10000 class bdatabase private int top 财务记录指针 finance finance maxb 财务记录 public bdatabase 构造函数 将 finance txt 读到 finance 中 void clear 全部删除 int addfinance int da int n char na int nu 增加收入 finance query int financeid 查找财务 for int i 0 i top i if finance i getno financeid return null void financedata 财务维护 void financecount 财务统计 void financecount int data 按月财务统计 void disp bdatabase 析构函数 将 finance 写到 finance txt 文件中 endif bdatabase cpp bdatabase 功能函数功能函数 include include include include include finance h include bdatabase h bdatabase bdatabase 构造函数 将 finance txt 读到 finance 中 finance b top 1 fstream file finance txt ios in while 1 file read char if file break top finance top b file close void bdatabase clear 全部删除 top 1 int bdatabase addfinance int da int n char na int nu 增加收入 finance p query n if null p top finance top addfinance da n na nu return 1 return 0 void bdatabase financecount 财务统计 int bnum 0 int rnum 0 int mcout 0 int bcout 0 int rcout 0 for int i 0 i top i if finance i getontag 1 bcout finance i getacout bnum finance i disp else rcout finance i getacout rnum finance i disp mcout bcout rcout cout 收入总金额 bcout endl cout 支出总金额 rcout endl cout 收支结余 mcout endl void bdatabase financecount int data 按月财务统计 int da data int bnum 0 int rnum 0 int mcout 0 int bcout 0 int rcout 0 for int i 0 i top i if finance i getdate da if finance i getontag 1 bcout finance i getacout bnum finance i disp else rcout finance i getacout rnum finance i disp mcout bcout rcout cout 收入总金额 bcout endl cout 支出总金额 rcout endl cout 收支结余 mcout endl void bdatabase disp for int i 0 i top i if finance i gettag 0 finance i disp bdatabase bdatabase 析构函数 将 finance 写到 finance txt 文件中 fstream file finance txt ios out for int i 0 i top i if finance i gettag 0 file write char file close finance h finance 头文件头文件 finance 类的声明类的声明 include include include include ifndef financeh define financeh class finance private int tag 删除标记 1 已删 0 未删 int no 财务编号 char name 20 姓名 int acount int ontag int date 财务日期 public finance char getname return name 获取姓名 int getno return no 获取财务编号 int getacout return acount int gettag return tag 获取删除标记 int getontag return ontag int getdate return date 获取日期 void setname char na 设置 void delfinance tag 1 删除财务 void addfinance int da int n char na int nu 增加财务 int borrowfinance if ontag 1 ontag 0 return 1 return 0 支出操作 void retfinance 收入操作 void disp 输出财务 endif finance cpp finance 函数的功能实现函数的功能实现 include include include include include finance h include bdatabase h void finance setname char na 设置 strcpy name na void finance addfinance int da int n char na int nu 增加财务 char ch tag 0 date da no n strcpy name na acount nu ontag 1 cout 记录为支出按 y 收入 其他键 ch if ch y ch y ontag 0 void finance retfinance 收入操作 ontag 1 void finance disp 输出财务 cout setw 6 date setw 6 no setw 18 name setw 10 ontag 1 收入 支出 setw 10 acount endl 第 4 章 测试与实验结果 我在这次课程设计中种主要负责程序的整体架构和财务库类的功能实现 通过思考 我发现 针对本题目对账目进行处理比对用户进行管理要简便许多 于是我选定了对账目进行管理的设计思 路 建立 finance 类 作为一个账目的对象 建立 bdatabase 类 作为整体账目库类并对两个类的声 明与功能进行了整体的封装 实现了面向对象程序设计的最基本优化 使程序的可读性与可维护性 得到了显著提高 在函数功能的实现方面 我尽量利用面向对象程序设计的思路进行设计 尽量减少代码的从 重复 并利用友元等特性设计函数 实验结果与预想相符 设计的功能全部实现 但是对于类的继承 友元的使用等方面还不忽 视非常纯熟 在今后的学习中我要加强这方面的锻炼 第 5 章 结束语 这次课程设计历经一个星期左右 通过这一个星期的学习 发现了自己的很多不足 自己知 识的很多漏洞 也有很多闻所未闻的东西 理解实践的能力急需提高 但是对于类的继承 友元的 使用等方面还不忽视非常纯熟 在今后的学习中我要加强这方面的锻炼 课程设计是培养学生综合 运用所学知识 发现 提出 分析和解决实际问题 锻炼实践能力的重要环节 是对学生实际工作能力 的具体训练和考察过程 在这次的课程设计中不仅检验了我所学习的知识 也培养了我如何去把 握一件事情 如何去做一件事情 又如何完成一件事情 在设计过程中 与同学分工设计 和同学 们相互探讨 相互学习 相互监督 学会了合作 学会了运筹帷幄 学会了宽容 学会了理解 也 学会了做人与处世 在这次设计过程中 体现出自己单独设计程序的能力以及综合运用知识的能 力 体会了学以致用 突出自己劳动成果的喜悦心情 从中发现自己平时学习的不足和薄弱环节 从而加以弥补 在此感谢我们的陈红军老师 老师严谨细致 一丝不苟的作风一直是我工作 学习中的榜样 老师循循善诱的教导和不拘一格的思路给予我无尽的启迪 这次程序设计的每个实验细节和每个数 据 都离不开老师您的细心指导 而您开朗的个性和宽容的态度 帮助我能够很顺利的完成了这次 课程设计 同时感谢对我帮助过的同学们 谢谢你们对我的帮助和支持 让我感受到同学的友谊 由于本人的设计能力有限 在设计过程中难免出现错误 恳请老师们多多指教 我十分乐意接 受你们的批评与指正 本人将万分感谢 参考文献 1 钱能 c 程序设计教程 修订版 清华大学出版社 2 严蔚敏 吴伟民 数据结构 c 语言版 清华大学出版社 3 c 入门经典 清华大学出版 tgkqcwa3ptgz7r4i30ka1dkaghn3xtkknbycu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论