个人财务管理系统.doc
《个人财务管理系统.doc》由会员分享,可在线阅读,更多相关《个人财务管理系统.doc(23页珍藏版)》请在沃文网上搜索。
1、 目录一、系统设计11.系统功能12.任务设计和要求1二、系统分析21.需求分析22.系统性能要求23.系统界面要求24.系统功能模块35.模块框架图3三、系统实现41.界面设计42.功能设计与实现6四、系统测试6五、总结10六、参考资料11附录:源程序(部分)13附录:自我评价部分2323个人财务管理系统预算财务管理财务查询财务统计收入支出预算收入支出按日按月按年一、 系统设计1. 系统功能图1.1系统功能2. 任务设计和要求1)设计内容:a.设计三个类:预算类:含预算类别,项目名称,采购时间,采购金额;收入类:含收入日期,收入类别,收入金额;支出类:含支出日期,支出类别,支出金额。b.系统
2、操作能实现输入,修改,删除功能;能实现查询功能:分别对预算、收入、支出进行按日期、按类别和按金额实现的财务查询;能实现统计功能:分别按日、按月和按年实现对预算、收入和支出的财务统计;2)课程设计的要求:根据C+课程所学的概念、理论和方法以及MFC的有关知识,按照C+程序设计的基本步骤,设计出一个适当规模的程序来实现设计课程内容中的全部功能;设计主控模块程序对给出的程序源代码要给出各部分的详细注释自己根据能力及需要添加相应功能模块,增强模拟系统功能。包括系统的功能分析、系统的功能模块设计、程序流程图或结构框图,课程设计体会等。二、 系统分析1. 需求分析1)编辑操作a.能对预算项目进行录入、增加
3、、修改和删除;b.能对收入项目进行录入、增加、修改和删除;c.能对开支项目进行录入、增加、修改和删除。2)统计操作d.能对预算项目进行按日、按月和按年的统计;e.能对收入项目进行按月、按月和按年的统计;f.能对开支项目进行按日、按月和按年的统计。3)查询操作g.能对预算项目进行按日期、按类别和按金额的查询;h.能对收入项目进行按日期、按类别和按金额的查询;i.能对开支项目进行按日期、按类别和按金额的查询。2. 系统性能要求a.系统安全、可靠;b.功能齐全;c.操作方便、界面友好;d易于维护和扩充。3. 系统界面要求用MFC实现,如单文档、对话框、菜单和按钮等方式实现预算财务管理财务查询财务统计
4、收入支出预算收入支出按日按月按年个人财务管理系统4. 系统功能模块图2.4系统功能模块5. 模块框架图的预算功能进行举例:个人财务管理系统类别财务管理预算名称时间金额清空保存输入修改删除退出图2.5预算功能功能模块输入:清空四个内容,方便新的输入保存:把输入(选择的内容)保存起来(另外定义存储结构),同时显示在下面的列表框里。修改:先选择列表框里的数据,显示在上面,修改,后再保存删除:先选择列表框李的数据,再删除,不仅从内存删除,也在列表框里删除。退出:退出输入三、 系统实现1. 界面设计图3.1.1主菜单窗口图3.1.2预算功能窗口图3.1.3收入功能窗口图3.1.4查询预算功能窗口图3.1
5、.5按日统计功能窗口2. 功能设计与实现第一阶段:实现功能:主框架设计,实现财务管理模块的3个功能;第二阶段:实现功能:实现财务统计模块的3个功能;第三阶段:实现功能:实现财务查询模块的3个功能;第四阶段:实现:系统调试、实训报告。四、 系统测试图4.1.1在预算输入数据图4.1.2进入查询预算图4.1.3输入不存在的日期图4.1.4输入存在的日期图4.1.5进入按日查询界面图4.1.6按统计按钮后对日期相同项目进行了统计图4.1.7进入按月查询界面图4.1.6按统计按钮后对相同月份项目进行了统计五、 总结1) 测试总结:系统经测试后,运行良好,基本实现了财务管理系统的基础功能,能对预算进行按
6、日、类别、金额进行查询,能分别进行按日、按月、按年的不同统计;2) 经验总结a. 在使用VC+进行Windows应用程序设计时,消息映射是必不可少的,我们需要编写对于消息发生响应的函数,VC+内部会自动天界一个消息映射函数。通过消息映射,才能把消息和它的处理函数对应起来。b. 用户与应用程序的交互通常是从菜单栏中选择命令或用键盘加速键的方式,因此菜单和加速键的资源再VC+编程中是很重要的。c. 对话框是一个特殊的窗口,所以该类是从CWnd类中派生出来的。对话框子层次结构包括通用对话框类CDialog以及支持文件选择、颜色选择、字体选择、打印、替换文本的公共对话框子类。d. 控件子层次结构包括若
7、干类,使用这些类可以建立静态文本、命令按钮、位图按钮、列表框、组合框、滚动条、编辑框等。这些直观控件为Windows应用程序提供了各种输入和显示界面。e. CListCtrlg使用列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值。LVS_ICON ,LVS_SMALLICON ,LVS_LIST, LVS_REPORT 这四种风格决定控件的外观,同时只可以选择其中一种,分别对应:大图标显示,小图标显示,列表显示,详细报表显示。插入列除LVS_REPORT风格外其他三种风格都只需要直接调用InsertItem就可以了,但如果使用报表风格就必须先设置列
8、表控件中的列信息。int InsertColumn( int nCol, LPCTSTR lpszColumnHeading, int nFormat , int nWidth, int nSubItem);iCol:为列的位置,从零开始lpszColumnHeading:为显示的列名nFormat:为显示对齐方式nWidth:为显示宽度nSubItem:为分配给该列的列索引。例如:m_list.InsertColumn(0,列头1);m_list.InsertColumn(1,列头2);m_list.InsertColumn(2,列头3);m_list.InsertColumn(3,列头4)
9、;设置列宽CRect rect4;m_list.GetClientRect(rect4); /获得当前客户区信息m_list.SetColumnWidth(0,rect4.Width()/4); /设置列的宽度。m_list.SetColumnWidth(1,rect4.Width()/5);m_list.SetColumnWidth(2,rect4.Width()/5);m_list.SetColumnWidth(3,rect4.Width()*8/20);这部分初始化操作,最好放在对话框类的OnInitDialog()函数里,自动初始化。插入行int InsertItem( int nIt
10、em, LPCTSTR lpszItem );nItem:指明插入位置lpszItem:为显示字符。m_list.InsertItem(0,数据一); /插入第一个数据,即第0条数据。先插入,然后在修改其他的信息。m_list.SetItemText(0,1,数据二); /修改第0条数据的其他信息。m_list.SetItemText(0,2,数据三);m_list.SetItemText(0,3,数据四);删除所有行m_list.DeleteAllItems();六、 参考资料1. 钱能 著. C + 程序设计教程(第二版)设计思想与实现. 北京:清华大学出版社,2011.2. 侯俊杰 著
11、.深入浅出MFC(第二版). 台湾:华中科技大学出版社,2001-01.3. 王腾蛟 著. 新概念Visual C+ 6.0 教程. 北京:北京科海集团公司出版,2011.附录:源程序(部分)1 预算类的头文件定义及初始化#if !defined(AFX_BUDGET_H_EEB74735_9E96_49B0_92D5_1DDC8990749D_INCLUDED_)#define AFX_BUDGET_H_EEB74735_9E96_49B0_92D5_1DDC8990749D_INCLUDED_#if _MSC_VER 1000#pragma once#endif / _MSC_VER 10
12、00/ Budget.h : header file/ CBudget dialogstruct BUGLINKCString type;CString name;CString time;CString amount;/BUGLINK *pRight;class CBudget : public CDialog/ Constructionpublic:CString m_Type;int m_Row;int m_ItemCount;BUGLINK head20, phead20;CBudget(CWnd* pParent = NULL); / standard constructor CSt
13、ring str4;/ Dialog Data/AFX_DATA(CBudget)enum IDD = IDD_DLG_BUDGET ;CComboBoxm_ComType;CListCtrlm_List;CStringm_Name;CStringm_Time;CStringm_Amount;/AFX_DATA/ Overrides/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CBudget)protected:virtual void DoDataExchange(CDataExchange* pDX); / D
14、DX/DDV support/AFX_VIRTUAL/ Implementationprotected:/ Generated message map functions/AFX_MSG(CBudget)afx_msg void OnInsert();afx_msg void OnSave();afx_msg void OnChange();afx_msg void OnDelete();virtual void OnCancel();virtual BOOL OnInitDialog();afx_msg void OnClickList(NMHDR* pNMHDR, LRESULT* pRe
15、sult);/AFX_MSGDECLARE_MESSAGE_MAP();/AFX_INSERT_LOCATION/ Microsoft Visual C+ will insert additional declarations immediately before the previous line.#endif / !defined(AFX_BUDGET_H_EEB74735_9E96_49B0_92D5_1DDC8990749D_INCLUDED_)/ Budget.cpp : implementation fileBOOL CBudget:OnInitDialog() CDialog:O
16、nInitDialog();str0 = _T(旅行);str1 = _T(交通);str2 = _T(衣服);str3 = _T();m_ComType.AddString(str0);m_ComType.AddString(str1);m_ComType.AddString(str2);m_ComType.AddString(str3);m_ComType.SetCurSel(0);/ TODO: Add extra initialization here m_List.InsertColumn(0,预算类别); /插入列 m_List.InsertColumn(1,项目名称);m_Lis
17、t.InsertColumn(2,采购时间);m_List.InsertColumn(3,采购金额); CRect rect4; m_List.GetClientRect(rect4); /获得当前客户区信息 m_List.SetColumnWidth(0,rect4.Width()/5); /设置列的宽度。 m_List.SetColumnWidth(1,rect4.Width()/5); m_List.SetColumnWidth(2,rect4.Width()/5); m_List.SetColumnWidth(3,rect4.Width()/5); /这部分初始化操作,最好放在对话框类
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 财务管理 系统
