家庭理财管理系统课程设计报告.doc

上传人:仙人指路1688 文档编号:4120510 上传时间:2023-04-06 格式:DOC 页数:33 大小:747KB
返回 下载 相关 举报
家庭理财管理系统课程设计报告.doc_第1页
第1页 / 共33页
家庭理财管理系统课程设计报告.doc_第2页
第2页 / 共33页
家庭理财管理系统课程设计报告.doc_第3页
第3页 / 共33页
家庭理财管理系统课程设计报告.doc_第4页
第4页 / 共33页
家庭理财管理系统课程设计报告.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《家庭理财管理系统课程设计报告.doc》由会员分享,可在线阅读,更多相关《家庭理财管理系统课程设计报告.doc(33页珍藏版)》请在三一办公上搜索。

1、课程设计说明书班级: 姓名: 设计题目: 家庭理财管理系统设计时间: 2013.1.7 至 2013.1.11 指导教师: 评 语:_评阅成绩: 评阅教师: 目录第1章 绪论11.1选题的背景11.2目的和意义1第2章 系统设计22.1系统总设计22.1.1题目要求22.1.2 系统功能结构图22.1.3 家庭理财管理系统流程图32.2 系统功能简介42.3系统详细设计52.3.1创建工程52.3.2登录窗口62.3.3主窗口设计72.3.4添加信息102.3.5信息的删除和保存132.3.6信息修改142.3 .7信息查询162.3.8 删除查询结果19第3章课程总结和心得20参考文献21附

2、录22枫叶家庭理财广利系统设计总说明家庭理财管理系统是家庭理财的一个好帮手。家庭理财系统主要提供收入支出等的资料添加、修改、查询、删除, 经过分析,我们使用VC+ 6.0开发工具, 我们通过实现信息的输入、查找、删除、统计、输出等功能,进一步了解和学习面向对象程序设计的思想和理念;并且被广泛地应用于各种程序设计中该程序运用对话框界面,方便个行个业的人使用,避免了不了解计算机的人不会操作这个系统的麻烦,并且美观有效。通过该程序的演示,能够在今后的学习中更深入的了解对象和类的功能,在解决实际问题时灵活运用它们。 本设计可以对财务信息管理,管理员录入财务信息,并且能按姓名或者日期查找,添加,删除各个

3、用户的信息。关键词:C+;MFC;控件;家庭理财管理系统第1章 绪论1.1选题的背景 学习计算机知识的目的在于更加准确、快捷的解决现实生活中的各种问题。我们只有不断的更新和完善自己的知识、在实践中积累经验,才能做出好的软件为社会服务,为使用者提供便利。 在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及到各种信息的处理。信息是人们对客观世界的具体描述,是人们进行交流与联系的重要途径。随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个领域,成为推动社会发展的首要技术动力。在软件技术的应用中,软件的开发技术,尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、

4、市场需要的新型软件产品,参与市场竞争,获取最大利润是全球信息企业追求的目标。家庭理财管理系统正是一个非常实用的应用型软件产品,我们不谈它的经济利益,单说它的应用范围就是十分广泛的,每个家庭都需要理财,尽可能的提高家庭收入的利用率。我想计算机的作用就是辅助人们完成那些烦琐的体力劳动和脑力劳动,使人们从劳动中解脱出来,我所设计的家庭理财管理系统就是可以有效地管理家庭的收入和开支。1.2目的和意义 目前市面上流行的家庭理财管理系统很少,因此对于每个家庭来说,具有其特殊性,因此需要设计一个操作方便,功能实用,操作方便,简单明了的家庭理财管理系统。通过该题目的设计过程,可以加深理解类、功能模块化、用户交

5、互界面,掌握重载、继承等基本功能的实现,进一步理解和熟练掌握课本中所学的面向对象技术,学会如何把学到的知识用于解决实际问题,培养学生的动手能力。第2章 系统设计2.1系统总设计 2.1.1题目要求1、 收入者、支出者信息维护,管理人员可以对这些信息进行维护。2、 收入、支出项目信息维护,管理人员可以对该信息进行维护。3、 各种统计查询,根据各种组合查询条件对收支项目信息(月、年)、收支人(月、年)信息等进行统计查询。4、 根据查询结果,生成Excel图表(选做)。2.1.2 系统功能结构图枫叶家庭理财管理系统功能程序登录程序输入显示查找删除修改统计 图2.1 系统功能总设计图2.1.3 家庭理

6、财管理系统流程图 否 是 退出系统系统主页面登录3查找信息6删除查询2修改信息1添加信息7保存信息4删除信息相关信息日期查询姓名查询枫叶家庭成员信息财务信息地址姓名日期基本工资奖金证券收益生活费其他消费总计图2.2 系统流程图2.2 系统功能简介1. 系统登录:系统开始运行就出现系统登录对话框,密码正确后才能进入主界面。2. 信息输入:输入枫叶家庭成员的基本信息和收支信息。3.信息输出:输出相关信息。4.信息查询:首先由用户选择查询条件,然后输入要查询的信息,系统用查找函数查找,调 用输出函数输出所查找的信息。5.信息修改:首先由用户选中要修改的信息,然后调用修改函数,修改该信息6.信息删除:

7、首先由用户选中要删除的信息,然后调用删除函数,删除该信息7.信息保存:首先由用户选中要保存的信息,然后调用保存函数,保存该信息。2.3系统详细设计2.3.1创建工程启动Viaual C+6.0创建一个名为“枫叶家庭理财管理系统”的对话框MFC AppWizardexe的运用程序。如图:图2.3 创建工程2.3.2登录窗口图2.4 登陆界面 图2.5 登录有误当程序开始运行时,会出现的对话框。“登录”功能实现的代码:BOOL CMyDlg:OnInitDialog()CDialog:OnInitDialog();/ Set the icon for this dialog. The framew

8、ork does this automatically/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization hereLF1 m;m.DoModal();/密码设置if(m.m_zhanghao!=lifeng|m.m_mima!=92312)MessageBox(账号或密码有误!);exit(1); /用户密码,主界面显示列表2.

9、3.3主窗口设计图2.6 主界面图2.7 相关信息界面两界面图片实现的代码:BOOL CMyDlg:OnInitDialog()CDialog:OnInitDialog();/ Set the icon for this dialog. The framework does this automatically/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extr

10、a initialization here /导入列表数据m_list1.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);m_list1.InsertColumn(0,_T(姓名);m_list1.InsertColumn(1,_T(日期);m_list1.InsertColumn(2,_T(地址); m_list1.InsertColumn(3,_T(基本工资);m_list1.InsertColumn(4,_T(奖金);m_list1.InsertColumn(5,_T(生活费);m_list1.InsertColumn(6,

11、_T(其他消费);m_list1.InsertColumn(7,_T(证券收益);m_list1.InsertColumn(8,_T(总计);int j;for(j=0;j9;j+)m_list1.SetColumnWidth(j,90); m_list2.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);m_list2.InsertColumn(0,_T(姓名);m_list2.InsertColumn(1,_T(日期);m_list2.InsertColumn(2,_T(地址); m_list2.InsertColumn(3,_

12、T(基本工资);m_list2.InsertColumn(4,_T(奖金);m_list2.InsertColumn(5,_T(生活费);m_list2.InsertColumn(6,_T(其他消费);m_list2.InsertColumn(7,_T(证券收益);m_list2.InsertColumn(8,_T(总计);for(j=0;jshuju0shuju1shuju2shuju3shuju4shuju5shuju6shuju7shuju8; int j=m_list1.InsertItem(0,shuju0); m_list1.SetItemText(j,1,shuju1); m_l

13、ist1.SetItemText(j,2,shuju2); m_list1.SetItemText(j,3,shuju3); m_list1.SetItemText(j,4,shuju4); m_list1.SetItemText(j,5,shuju5); m_list1.SetItemText(j,6,shuju6); m_list1.SetItemText(j,7,shuju7); m_list1.SetItemText(j,8,shuju8); out.close();return TRUE; / return TRUE unless you set the focus to a con

14、trol/ If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automatically done for you by the framework.2.3.4添加信息图2.8 添加界面若要添加信息,则点击添加按钮。“添加”信息模块实现代码:图2.9 添加后并保存界面“添加”信息模块函数实现代码:void CMyDlg:OnButton1(

15、) / TODO: Add your control notification handler code here/添加理财信息 LF2 dlg;if(dlg.DoModal()=IDOK)static int m=0;CString s;s.Format(%s,dlg.m_name);m_list1.InsertItem(m,s,0); m_list1.SetItemText(m,1,dlg.m_riqi); m_list1.SetItemText(m,2,dlg.m_dizhi);s.Format(%6.2f,dlg.m_gongzi);m_list1.SetItemText(m,3,s)

16、;s.Format(%6.2f,dlg.m_jiangjin);m_list1.SetItemText(m,4,s); s.Format(%6.2f,dlg.m_shenghuofei);m_list1.SetItemText(m,5,s);s.Format(%6.2f,dlg.m_qitaxiaofei);m_list1.SetItemText(m,6,s);s.Format(%6.2f,dlg.m_zhengquan); m_list1.SetItemText(m,7,s);/计算总计float zongji;zongji=(dlg.m_gongzi+dlg.m_jiangjin+dlg.

17、m_zhengquan-dlg.m_shenghuofei-dlg.m_qitaxiaofei); s.Format(%6.2f,zongji);m_list1.SetItemText(m,8,s);“保存”信息实现代码:void CMyDlg:OnButton4() / TODO: Add your control notification handler code here/保存理财信息fstream out;int i=0;out.open(student.txt,ios:out|ios:binary|ios:trunc);for(i=0;m_list1.GetItemText(i,1)

18、!=;i+) for(int j=0;j8;j+)out m_list1.GetItemText(i,j);out.close();2.3.5信息的删除和保存图2.10 删除后界面删除时,先选中要删除的信息。“删除”信息模块函数实现代码:void CMyDlg:OnButton2() / TODO: Add your control notification handler code here/删除理财信息if(m_list1.GetSelectedCount()=0;i-)if(m_list1.GetItemState(i,LVIS_SELECTED) m_list1.DeleteItem(

19、i);2.3.6信息修改图2.11修改前数据图2.12 修改界面图2.13 修改后数据进行修改时,选中要修改的项,进行修改。“修改”信息模块函数实现代码:void CMyDlg:OnButton3() / TODO: Add your control notification handler code here/修改信息LF2 dlg;dlg.DoModal(); UpdateData(TRUE);int nCurltem;for(nCurltem=0;(m_list1.GetItemText(nCurltem,0)!=dlg.m_name);nCurltem+)if(m_list1.GetI

20、temText(nCurltem,1)=)break;if(m_list1.GetItemText(nCurltem,1)=)MessageBox(无该人请确定录入栏里输入的信息正确);return;m_list1.SetItemText(nCurltem,0,dlg.m_name); m_list1.SetItemText(nCurltem,1,dlg.m_riqi);m_list1.SetItemText(nCurltem,2,dlg.m_dizhi);CString s;s.Format(%6.2f,dlg.m_gongzi);m_list1.SetItemText(nCurltem,3

21、,s);s.Format(%6.2f,dlg.m_jiangjin);m_list1.SetItemText(nCurltem,4,s);s.Format(%6.2f,dlg.m_shenghuofei);m_list1.SetItemText(nCurltem,5,s); s.Format(%6.2f,dlg.m_qitaxiaofei);m_list1.SetItemText(nCurltem,6,s);s.Format(%6.2f,dlg.m_zhengquan);m_list1.SetItemText(nCurltem,7,s);/计算修改后的总计 float zongji;zongj

22、i=(dlg.m_gongzi+dlg.m_jiangjin+dlg.m_zhengquan-dlg.m_shenghuofei-dlg.m_qitaxiaofei);s.Format(%6.2f,zongji);m_list1.SetItemText(nCurltem,8,s);2.3 .7信息查询图2.14 系统按姓名查询界面图2.15 系统按日期查询界面 图2.16 查询无此信息界面若要对信息进行查询,则选择查找条件,在去查询。“查询”信息函数实现代码:void CMyDlg:OnButton5() / TODO: Add your control notification handle

23、r code here/信息查询UpdateData(TRUE);int nCurltem;if(m_combo1=姓名)/按姓名查询 for(nCurltem=0;(m_list1.GetItemText(nCurltem,0)!=m_edit)&(m_list1.GetItemText(nCurltem,0)!=);nCurltem+) if(m_list1.GetItemText(nCurltem,0)=) MessageBox(无该人);return; else int h=0;h=m_list2.InsertItem(h,m_list1.GetItemText(nCurltem,0)

24、; m_list2.SetItemText(h,1,m_list1.GetItemText(nCurltem,1); m_list2.SetItemText(h,2,m_list1.GetItemText(nCurltem,2); m_list2.SetItemText(h,3,m_list1.GetItemText(nCurltem,3); m_list2.SetItemText(h,4,m_list1.GetItemText(nCurltem,4); m_list2.SetItemText(h,5,m_list1.GetItemText(nCurltem,5); m_list2.SetIt

25、emText(h,6,m_list1.GetItemText(nCurltem,6); m_list2.SetItemText(h,7,m_list1.GetItemText(nCurltem,7); m_list2.SetItemText(h,8,m_list1.GetItemText(nCurltem,8); if(m_combo1=日期)/按日期查询for(nCurltem=0;(m_list1.GetItemText(nCurltem,1)!=m_edit)&(m_list1.GetItemText(nCurltem,1)!=);nCurltem+)if(m_list1.GetItem

26、Text(nCurltem,1)=)MessageBox(无该人);return; else int h=0;h=m_list2.InsertItem(h,m_list1.GetItemText(nCurltem,0); m_list2.SetItemText(h,1,m_list1.GetItemText(nCurltem,1); m_list2.SetItemText(h,2,m_list1.GetItemText(nCurltem,2); m_list2.SetItemText(h,3,m_list1.GetItemText(nCurltem,3); m_list2.SetItemTex

27、t(h,4,m_list1.GetItemText(nCurltem,4); m_list2.SetItemText(h,5,m_list1.GetItemText(nCurltem,5); m_list2.SetItemText(h,6,m_list1.GetItemText(nCurltem,6); m_list2.SetItemText(h,7,m_list1.GetItemText(nCurltem,7); m_list2.SetItemText(h,8,m_list1.GetItemText(nCurltem,8);2.3.8 删除查询结果图2.16 删除查询信息后界面“删除查询结果

28、”实现代码:void CMyDlg:OnButton6() / TODO: Add your control notification handler code here/删除查询结果if(m_list2.GetSelectedCount()=0;i-)if(m_list2.GetItemState(i,LVIS_SELECTED) m_list2.DeleteItem(i);第3章课程总结和心得在为期一周的课程设计中,使我对面向对象程序设计有了进一步了解,虽说还不是很明白但也有了进步。 我选做的这个课题是:家庭理财管理系统。我基本完成了家庭理财管理系统的设计,熟悉了一个管理系统的设计步骤,每

29、个阶段应该完成的任务,但我觉得还有很多要学习的地方。在课题设计过程中,学到了好多面向对象程序设计的基本操作(添加、查找、删除等)。 在这次的课程设计中,遇到了好多困难。但是我们都通过查找一些书籍以及和同学们的讨论来解决它,解决不了的就通过向老师提问来解决,我相信通过这一周的设计,培养了我的动手能力。更懂得和同学讨论比自己一个人研究要有用得多。 我明白了在学习中不仅要多看还要多练也要多聊,和同学们一起学习能够是学习更加轻松,知道了学习不能够只是埋头苦干。在做课程设计时使我明白了许多的道理锻炼了我的独自思考的能力,学会了要将知识融会贯通。虽然这次的课程设计做的不是很完美,但使我相信经过这次的锻炼能

30、够让我更加的了解了这门课程参考文献1郭文平,王耀洊,杨晓光.VC+基础教程.西安:电子科技大学出版社,2006 2方可言.VC+6.0实践与精通. 北京: 清华大学出版社,2000 3郑阿奇.Visual C+教程.北京:清华大学出版社,2005附录/ 枫叶家庭理财管理系统Dlg.cpp : implementation file/#include stdafx.h#include 枫叶家庭理财管理系统.h#include LF1.h#include 枫叶家庭理财管理系统Dlg.h#include LF2.h#include fstream.h#ifdef _DEBUG#define new

31、DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMyDlg dialogCMyDlg:CMyDlg(CWnd* pParent /*=NULL*/): CDialog(CMyDlg:IDD, pParent)/AFX_DATA_INIT(CMyDlg)m_edit = _T();m_combo1 = _T();/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32m_hIcon = AfxGetAp

32、p()-LoadIcon(IDR_MAINFRAME);void CMyDlg:DoDataExchange(CDataExchange* pDX)CDialog:DoDataExchange(pDX);/AFX_DATA_MAP(CMyDlg)DDX_Control(pDX, IDC_LIST2, m_list2);DDX_Control(pDX, IDC_LIST1, m_list1);DDX_Text(pDX, IDC_EDIT1, m_edit);DDX_CBString(pDX, IDC_COMBO1, m_combo1);/AFX_DATA_MAPBEGIN_MESSAGE_MAP

33、(CMyDlg, CDialog)/AFX_MSG_MAP(CMyDlg)ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_CBN_EDITCHANGE(IDC_COMBO1, OnEditchangeCombo1)ON_BN_CLICKED(IDC_BUTTON6, OnButton6)ON_BN_CLICKED(IDC_BUTTON5, OnButton5)ON_BN_CLICKED(IDC_BUTTON4, OnButton4)ON_BN_CLICKED(IDC_BUTTON3, OnButton3)ON_BN_CLICKED(IDC_BUTTON2, OnBut

34、ton2)ON_BN_CLICKED(IDC_BUTTON1, OnButton1)ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)ON_NOTIFY(NM_CLICK, IDC_LIST2, OnClickList2)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CMyDlg message handlersBOOL CMyDlg:OnInitDialog()CDialog:OnInitDialog();/ Set the icon for this dialo

35、g. The framework does this automatically/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization hereLF1 m;m.DoModal();/密码设置if(m.m_zhanghao!=lifeng|m.m_mima!=92312)MessageBox(账号或密码有误!);exit(1); /用

36、户密码,主界面显示列表m_list1.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);m_list1.InsertColumn(0,_T(姓名);m_list1.InsertColumn(1,_T(日期);m_list1.InsertColumn(2,_T(地址); m_list1.InsertColumn(3,_T(基本工资);m_list1.InsertColumn(4,_T(奖金);m_list1.InsertColumn(5,_T(生活费);m_list1.InsertColumn(6,_T(其他消费);m_list1.I

37、nsertColumn(7,_T(证券收益);m_list1.InsertColumn(8,_T(总计);int j;for(j=0;j9;j+)m_list1.SetColumnWidth(j,90); m_list2.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);m_list2.InsertColumn(0,_T(姓名);m_list2.InsertColumn(1,_T(日期);m_list2.InsertColumn(2,_T(地址); m_list2.InsertColumn(3,_T(基本工资);m_list2.InsertColumn(4,_T(奖金);m_list2.InsertColumn(5,_T(生活费);m_list2.InsertColumn(6,_T(其他消费);m_list2.InsertColumn(7,_T(证券收益);m_list2.InsertColumn(8,_T(总计);for(j=0;jshuju0shuju1shuju2shuju3shuju4shuju5shuju6shuju7shuju8; int j=m_list1.InsertItem(0,shuju0); m_list1.S

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号