《家庭理财管理系统3984.docx》由会员分享,可在线阅读,更多相关《家庭理财管理系统3984.docx(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、华北科技学院课程设计说明书课程设计说明书书班级: 计算BB091 姓名:李慧 设计题目:_家庭庭理财管理系系统 设计时间: 2011.2.28 至至 20111.3.44 指导教师: 丁智斌斌 评 语:_评阅成绩: 评评阅教师: 目录1题目、设计计总说明及关关键词.112正文2.1、绪论.22.2、第一章章 程序设计计方案.32.3、第二章章 程序功能能的具体实现现.42.4、第三章章 代码解析析.882.5、第四章章 总结.1443、参考文献.15家庭理财管理系系统设计总说明 家庭理理财管理系统统是家庭理财财的一个好帮帮手。一个好好的家庭理财财系统使得家家庭财务管理理更加方便快快捷并且不会会
2、出错。家庭庭理财系统主主要提供收入入支出等的资资料添加、修修改、查询、删删除,整个管管理系统的框框架是这样的的:先定义一一个结构,再再定义一个类类,其中类中中包含输入成成员函数,输输出成员函数数,查找成员员函数,排序序成员函数,删删除成员函数数以及检查函函数,统计成成员函数等。主主界面在主程程序中输出。然然后根据使用用者输入的需需要使用的模模块都用对话话框形式来调调用,而由主主函数调用相相对应的函数数,完成使用用者的需要.经过分析,我们们使用VC+ 6.00开发工具, 我们通过过实现数据的的输入、查找找、插入、追追加、删除、统统计、输出等等功能,进一一步了解和学学习面向对象象程序设计的的思想和
3、理念念;并且被广广泛地应用于于各种程序设设计中该程序序运用对话框框界面,方便便个行个业的的人使用,避避免了不了解解计算机的人人不会操作这这个系统的麻麻烦,并且美美观有效。通通过该程序的的演示,能够够在今后的学学习中更深入入的了解对象象和类的功能能,在解决实实际问题时灵灵活运用它们们。本设计可以对对财务信息管管理,首先,管管理员可以录录入财务信息息,并且能按姓名名或者学号查查找,增加,删删除各个用户的信息。普通通用户可以查查询财务使用用情况。关键词:C+;MFC;控件件;家庭理财财管理系统正文绪论该程序要求学生生以家庭理财财管理业务为为背景,设计计、开发一套套“家庭理财管管理系统”软件。家庭理财
4、管理系系统是一个比比较综合,也也比较实用的的软件系统。它它主要提供财财务管理系统统主要提供财财务资料的输输入,财务资料的的输出, 财务资料料的查询, 财务资料料删除,,学生资料料的添加等服服务。该设计计要求用面向向对象相关知知识来设计,涉涉及到类以及及对象等信息息,还要有清清晰的类层次次,并且在各各类中要有自自己的属性及及方法。通过该题目的设设计过程,可可以加深理解解类、功能模模块化、用户户交互界面,掌掌握重载、继继承等基本功功能的实现,进进一步理解和和熟练掌握课课本中所学的的面向对象技技术,学会如如何把学到的的知识用于解解决实际问题题,培养学生生的动手能力力。程序设计方案 1.下下面是程序功
5、功能实现设计计图: 用户登录管理员系统添加查询保存删除修改 程序功能的具体体实现1.下图是系统统的登陆界面:2.下图是系统统的主界面3下图是系统统的录入界面 代码解析/ WWDllg.cppp : immplemeentatiion fiile/#includde sttdafx.h#includde WWW.h#includde WWWDlg.hh#includde deeng.h#includde luuru.h#includde fsstreamm.h#ifdef _DEBUUG#definee new DEBUGG_NEW#undef THIS_FILEstatic char THIS
6、_FILE = _FILEE_;#endif/ CAbooutDlgg diallog ussed foor Appp Abouutclass CCAbouttDlg : publlic CDDialoggpublic:CAbouttDlg();/ Diallog Daata/AFFX_DATTA(CAbboutDllg)enum IDD = IDDD_ABOUUTBOX ;/AFFX_DATTA/ ClaassWizzard ggeneraated vvirtuaal funnctionn overrridess/AFFX_VIRRTUAL(CAbouutDlg)proteccted:vir
7、tuaal voiid DoDDataExxchangge(CDaataExcchangee* pDXX); / DDDX/DDDV suppport/AFFX_VIRRTUAL/ Impllementtationnprotectted:/AFFX_MSGG(CAbooutDlgg)/AFFX_MSGGDECLARRE_MESSSAGE_MAP();CAboutDDlg:CCAbouttDlg() : CDDialogg(CAbooutDlgg:IDDD)/AFFX_DATTA_INIIT(CAbboutDllg)/AFFX_DATTA_INIITvoid CAAboutDDlg:DDoDat
8、aaExchaange(CCDataEExchannge* ppDX)CDialoog:DooDataEExchannge(pDDX);/AFFX_DATTA_MAPP(CAbooutDlgg)/AFFX_DATTA_MAPPBEGIN_MMESSAGGE_MAPP(CAbooutDlgg, CDiialog)/AFFX_MSGG_MAP(CAbouutDlg)/ Noo messsage hhandleers/AFFX_MSGG_MAPEND_MESSSAGE_MAP()/ CWWDDlg diialogCWWDlg:CWWDDlg(CWWnd* ppParennt /*=NULL*/):
9、CDiaalog(CCWWDlgg:IDDD, pPaarent)/AFFX_DATTA_INIIT(CWWWDlg)m_founnd = _T();/AFFX_DATTA_INIIT/ Notte thaat LoaadIconn doess not requiire a subseequentt DesttroyIccon inn Win332m_hIcoon = AAfxGettApp()-LoaadIconn(IDR_MAINFFRAME);void CWWWDlg:DoDaataExcchangee(CDattaExchhange* pDX)CDialoog:DooDataEExch
10、annge(pDDX);/AFFX_DATTA_MAPP(CWWDDlg)DDX_Coontroll(pDX, IDC_LIST22, m_llist2);DDX_Coontroll(pDX, IDC_LIST11, m_llist1);DDX_Teext(pDDX, IDDC_FOUUND, mm_founnd);/AFFX_DATTA_MAPPBEGIN_MMESSAGGE_MAPP(CWWDDlg, CCDialoog)/AFFX_MSGG_MAP(CWWDllg)ON_WM_SYSCOOMMANDD()ON_WM_PAINTT()ON_WM_QUERYYDRAGIICON()ON_BN
11、_CLICKKED(IDDC_BUTTTON1, OnBuutton11)ON_BN_CLICKKED(IDDC_BUTTTON2, OnBuutton22)ON_BN_CLICKKED(IDDC_BUTTTON3, OnBuutton33)ON_BN_CLICKKED(IDDC_BUTTTON4, OnBuutton44)ON_BN_CLICKKED(IDDC_BUTTTON5, OnBuutton55)ON_BN_CLICKKED(IDDC_BUTTTON6, OnBuutton66)ON_NOTTIFY(NNM_CLIICK, IIDC_LIIST1, OnCliickLisst1)/A
12、FFX_MSGG_MAPEND_MESSSAGE_MAP()/ CWWDDlg meessagee handdlersBOOL CWWWDlg:OnInnitDiaalog()CDialoog:OnnInitDDialogg();/ Addd Aboout. mennu iteem to systeem mennu./ IDMM_ABOUUTBOX must be inn the systeem commmand rangee.ASSERTT(IDMM_ABOUUTBOX & 0xFFFF0) = IDDM_ABOOUTBOXX);ASSERTT(IDM_ABOUTTBOX AppeendMe
13、nnu(MF_SEPARRATOR);pSyssMenu-AppeendMennu(MF_STRINNG, IDDM_ABOOUTBOXX, strrAbouttMenu);/ Sett the icon for tthis ddialogg. Thhe fraameworrk doees thiis auttomatiicallyy/ whhen thhe appplicattionss mainn winddow iss not a diaalogSetIcoon(m_hhIcon, TRUEE);/ Seet bigg iconnSetIcoon(m_hhIcon, FALSSE);/
14、Seet smaall iccon/ TODDO: Addd exttra innitiallizatiion heereCdeng dlg;dlg.DooModall();/DoModdal()是是弹出对话框框的函数if(dlgg.m_naame1!=李慧|dlg.m_codde!=11234566)MeessageeBox(用户名或密密码错误!);exiit(1);/exxit(1)是退出系统统的函数 m_llist1.SetExxtendeedStylle(LVSS_EX_FFULLROOWSELEECT|LVVS_EX_GRIDLLINES);m_listt1.InssertCoolu
15、mn(0,_T(姓名);m_listt1.InssertCoolumn(1,_T(日期); m_llist1.InserrtColuumn(2,_T(收收入);m_listt1.InssertCoolumn(3,_T(支出);m_listt1.InssertCoolumn(4,_T(差额);int j;for(j=0;j88;j+)m_lisst1.SeetColuumnWiddth(j,90); m_llist2.SetExxtendeedStylle(LVSS_EX_FFULLROOWSELEECT|LVVS_EX_GRIDLLINES);m_listt2.InssertCoolumn(0
16、,_T(姓名);m_listt2.InssertCoolumn(1,_T(日期); m_llist2.InserrtColuumn(2,_T(收收入);m_listt2.InssertCoolumn(3,_T(支出);m_listt2.InssertCoolumn(4,_T(差额);for(j=0;jshujuu0shujuu1shujuu2shujuu3shujuu4; int jj=m_liist1.IInserttItem(0,shuuju0); m_liist1.SSetIteemTextt(j,1,shujuu1); m_list11.SetIItemTeext(j,2,shuuju
17、2); m_liist1.SSetIteemTextt(j,3,shujuu3); m_liist1.SSetIteemTextt(j,4,shujuu4); ouut.cloose();returnn TRUEE; / retuurn TRRUE uunlesss you set tthe foocus tto a ccontroolvoid CWWWDlg:OnSyysCommmand(UUINT nnID, LLPARAMM lParram)if (nnID & 0xFFFF0) = IDM_ABOUTTBOX)CAbouutDlg dlgAbbout;dlgAbbout.DDoModa
18、al();elseCDiallog:OOnSysCCommannd(nIDD, lPaaram);/ If yyou addd a mminimiize buutton to yoour diialog, you will need the ccode bbelow/ to draw the iicon. For MFC aappliccationns usiing thhe doccumentt/vieww modeel,/ thiis is autommaticaally ddone ffor yoou by the fframewwork.void CWWWDlg:OnPaaint()
19、if (IssIconiic()CPainntDC ddc(thiis); / devvice ccontexxt forr painntingSendMMessagge(WM_ICONEERASEBBKGND, (WPAARAM) dc.GeetSafeeHdc(), 0);/ Ceenter icon in cllient rectaangleint ccxIconn = GeetSysttemMettrics(SM_CXXICON);int ccyIconn = GeetSysttemMettrics(SM_CYYICON);CRectt rectt;GetCllientRRect(&r
20、ect);int xx = (rrect.WWidth() - ccxIconn + 1) / 2;int yy = (rrect.HHeightt() - cyIcoon + 11) / 22;/ Drraw thhe icoondc.DrrawIcoon(x, y, m_hIconn);elseCDiallog:OOnPainnt();/ The systeem callls thhis too obtaain thhe currsor tto dissplay whilee the user dragss/ thee miniimizedd winddow.HCURSORR CWWDDl
21、g:OOnQuerryDraggIcon()returnn (HCUURSOR) m_hIIcon;void CWWWDlg:OnBuutton11() / TODDO: Addd youur conntrol notifficatiion haandlerr codee hereeCluru dlg;if(dlgg.DoMoodal()=IDOOK)statiic intt m=0;CStriing s; m_liist1.SSetIteemTextt(m,1,dlg.mm_namee2); m_liist1.SSetIteemTextt(m,2,dlg.mm_datee);s.Forrma
22、t(%6.2ff,dlgg.m_inn);m_lisst1.SeetItemmText(m,3,ss);s.Forrmat(%6.2ff,dlgg.m_ouut);m_lisst1.SeetItemmText(m,4,ss);floatt tottal;totall=(dlgg.m_inn+dlg.m_outt);s.Forrmat(%6.2ff,tottal);m_lisst1.SeetItemmText(m,5,ss);void CWWWDlg:OnBuutton22() / TODDO: Addd youur conntrol notifficatiion haandlerr codee
23、 hereeCluru dlg;dlg.DooModall(); UUpdateeData(TRUE);int nCCurlteem;for(nCCurlteem=0;(m_lisst1.GeetItemmText(nCurlltem,00)!=dllg.m_nname2);nCurrltem+)if(mm_listt1.GettItemTText(nnCurlttem,1)=)breaak;if(m_llist1.GetIttemTexxt(nCuurltemm,1)=)MessaageBoxx(不存在在!);returrn; m_llist1.SetIttemTexxt(nCuurltem
24、m,0,dllg.m_nname2);m_listt1.SettItemTText(nnCurlttem,1,dlg.mm_datee);CStrinng s;s.Formmat(%6.2f,dlg.m_in);m_listt1.SettItemTText(nnCurlttem,2,s);s.Formmat(%6.2f,dlg.m_outt);m_listt1.SettItemTText(nnCurlttem,3,s);float totaal;total=(dlg.m_in+dlg.mm_out);s.Formmat(%6.2f,totaal);m_listt1.SettItemTText(
25、nnCurlttem,4,s);void CWWWDlg:OnBuutton33() / TODDO: Addd youur conntrol notifficatiion haandlerr codee hereeif(m_llist1.GetSeelecteedCounnt()=0;i-)if(mm_listt1.GettItemSState(i,LVIIS_SELLECTEDD) m_lisst1.DeeleteIItem(ii);void CWWWDlg:OnBuutton44() / TODDO: Addd youur conntrol notifficatiion haandler
26、r codee hereefstreaam outt;int i=0;out.oppen(ccaiwu.txt,ios:out|iios:bbinaryy|ios:trunnc);for(i=0;m_llist1.GetIttemTexxt(i,11)!=;i+) for(int jj=0;j8;j+)out mm_listt1.GettItemTText(ii,j);out.cllose();void CWWWDlg:OnBuutton55() / TODDO: Addd youur conntrol notifficatiion haandlerr codee hereeUpdateeDa
27、ta(TRUE);int nCCurlteem;if(m_ffound=姓名)for(nCCurlteem=0;(m_lisst1.GeetItemmText(nCurlltem,11)!=m_foundd)&(mm_listt1.GettItemTText(nnCurlttem,1)!=);nCurrltem+)if(m_llist1.GetIttemTexxt(nCuurltemm,1)=)MessaageBoxx(无该信信息);rreturnn;else innt h=00; h=m_lisst2.InnsertIItem(hh,m_liist1.GGetIteemTextt(nCurr
28、ltem,0); m_liist2.SSetIteemTextt(h,1,m_lisst1.GeetItemmText(nCurlltem,11); m_list22.SetIItemTeext(h,2,m_llist1.GetIttemTexxt(nCuurltemm,2); m_list22.SetIItemTeext(h,3,m_llist1.GetIttemTexxt(nCuurltemm,3); m_list22.SetIItemTeext(h,4,m_llist1.GetIttemTexxt(nCuurltemm,4);void CWWWDlg:OnBuutton66() / TO
29、DDO: Addd youur conntrol notifficatiion haandlerr codee hereevoid CWWWDlg:OnCllickLiist1(NNMHDR* pNMHHDR, LLRESULLT* pRResultt) / TODDO: Addd youur conntrol notifficatiion haandlerr codee heree*pResuult = 0; 总结经过了一周的课课程设计使我我对面向对象象程序设计有有了进一步了了解,虽说还还不是很明白白但也有了进进步。我选做的这个课课题是:家庭庭理财管理系系统。在课题题设计过程中中,学到了好好
30、多面向对象象程序设计的的基本操作(添添加、查找、删删除等)。在这次的课程设设计中,遇到到了好多困难难。但是我们们都通过查找找一些书籍以以及和同学们们的讨论来解解决它,解决决不了的就通通过向老师提提问来解决,我我相信通过这这一周的设计计,培养了我我的动手能力力。更懂得和和同学讨论比比自己一个人人研究要有用用得多。我明白了在学习习中不仅要多多看还要多练练也要多聊,和和同学们一起起学习能够是是学习更加轻轻松,知道了了学习不能够够只是埋头苦苦干。在做课课程设计时使使我明白了许许多的道理锻锻炼了我的独独自思考的能能力,学会了了要将知识融融会贯通。虽虽然这次的课课程设计做的的不是很完美美,但使我相相信经过这次次的锻炼能够够让我更加的的了解了这门门课程参考文献1郭文平、王王耀洊、杨晓晓光.VC+基础教程程.西安:电电子科技大学学出版社,22006 2方可言.VC+66.0实践与与精通. 北北京: 清华华大学出版社社,200002郑阿奇.Visuaal C+教程.北京京:清华大学学出版社,2200524 第24页 共16页