欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    《面向对象程序设计》课程设计-家庭财务管理系统.doc

    • 资源ID:5017411       资源大小:177.50KB        全文页数:18页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《面向对象程序设计》课程设计-家庭财务管理系统.doc

    河南城建学院 面向对象程序设计课程设计 设计说明书 课程名称: 面向对象程序设计课程设计 设计题目: 家庭财务管理系统 指导教师: 班 级: 学 号: 学生姓名: 同组人员: 计算机科学与工程系 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 name20;/姓名 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 financeMaxb; /财务记录 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 bname40; int danum; int financeid; int acount; int date; Finance *b; while (choice!='0') cout choice; switch (choice) case '1': cout financeid; cout bname; cout acount; coutdanum; addfinance(danum,financeid,bname,acount); break; case '2': cout financeid; b=query(financeid); if (b=NULL) 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 date; financecount(date); break; case '8': clear(); 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 financeMaxb; /财务记录 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 #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+; financetop=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+; financetop.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 #include #include #include #ifndef FINANCEH #define FINANCEH class Finance private: int tag;/删除标记 1:已删 0:未删 int no;/财务编号 char name20;/姓名 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; coutch; 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)acountendl; 第 4 章 测试与实验结果 我在这次课程设计中种主要负责程序的整体架构和财务库类的功能实现。通过思考,我发现 针对本题目对账目进行处理比对用户进行管理要简便许多,于是我选定了对账目进行管理的设计思 路。建立 Finance 类 作为一个账目的对象。建立 BDatabase 类 作为整体账目库类并对两个类的声 明与功能进行了整体的封装,实现了面向对象程序设计的最基本优化,使程序的可读性与可维护性 得到了显著提高。 在函数功能的实现方面,我尽量利用面向对象程序设计的思路进行设计,尽量减少代码的从 重复。并利用友元等特性设计函数。 实验结果与预想相符,设计的功能全部实现。但是对于类的继承,友元的使用等方面还不忽 视非常纯熟。在今后的学习中我要加强这方面的锻炼。 第 5 章 结束语 这次课程设计历经一个星期左右,通过这一个星期的学习,发现了自己的很多不足,自己知 识的很多漏洞,也有很多闻所未闻的东西,理解实践的能力急需提高。但是对于类的继承,友元的 使用等方面还不忽视非常纯熟。在今后的学习中我要加强这方面的锻炼。课程设计是培养学生综合 运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力 的具体训练和考察过程.。在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把 握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学 们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也 学会了做人与处世。 在这次设计过程中,体现出自己单独设计程序的能力以及综合运用知识的能 力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节, 从而加以弥补。 在此感谢我们的陈红军老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样; 老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次程序设计的每个实验细节和每个数 据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次 课程设计。 同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。 由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接 受你们的批评与指正,本人将万分感谢 参考文献 1 钱能. C+程序设计教程(修订版).清华大学出版社 2 严蔚敏 吴伟民.数据结构(C 语言版).清华大学出版社 3 C+入门经典(清华大学出版)

    注意事项

    本文(《面向对象程序设计》课程设计-家庭财务管理系统.doc)为本站会员(西安人)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开