还剩27页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课程设计报告书设计名称VisaulC++课程设计题目超市管理系统学生姓名专业计算机科学与技术(数字媒体)班别计科本092班学号指导老师日期2011年6月10日目录第一章超市管理系统概述…………………………………………………
31.1引言…………………………………………………………………31.1.1系统开发的目的与意义……………………………………31.1.2系统开发背景………………………………………………31.1.3系统概述……………………………………………………31.1.4采用的体系结构……………………………………………4第二章超市管理系统分析……………………………………………42.1可行性研究……………………………………………………42.1.1技术可行性…………………………………………………52.1.2经济可行性…………………………………………………52.1.3运行可行性…………………………………………………52.2需求分析………………………………………………………52.2.1系统的目的…………………………………………………52.2.2系统功能及用户需求………………………………………6第三章超市管理系统设计……………………………………………
63.1系统的总体…………………………………………………………
63.2数据表的建立………………………………………………………
73.3数据表截图…………………………………………………………
83.4功能的模块…………………………………………………………11第四章超市管理系统的实现…………………………………………
114.1登陆界面……………………………………………………………
114.2主界面…………………………………………………
134.3主要模块操作界面类型…………………………………………………
154.4主窗口界面类型…………………………………………………
214.5销售额查询结果显示…………………………………………………
254.6退出系统……………………………………………………………27第五章结束语………………………………………………………………16参考文献……………………………………………………………………17第一章超市管理系统概述1.1引言1.1.1系统开发的目的与意义随着科学技术的不断提高计算机科学日渐成熟其强大的功能已为人们深刻认识它已进入人类社会的各个领域并发挥着越来越重要的作用作为计算机应用的一部分使用计算机对超市进行管理具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等这些优点能够极大地提高超市管理的效率也是超市的科学化、正规化管理与世界接轨的重要条件因此,开发一个代替手工操作的新型的计算机管理的超市管理系统对本超市来说刻不容缓1.1.2系统开发背景传统人工的方式管理超市,这种管理方式存在着许多缺点如:效率低、保密性差另外时间一长将产生大量的文件和数据这对于查找、更新和维护都带来了不少的困难,而且容易丢失因此开发一个代替手工操作的新型的计算机管理的超市管理系统对本超市来说刻不容缓1.1.3系统概述
1、任务超市管理系统对职员商品信息进行高效简洁的管理,使之能正常高效的进行售卖活动系统充分考虑到超市管理系统对货物资料进行登记并处理考虑到进货、退货、库存预警、年月日销售额结算等多种特殊情况,同时可将相关资料进行有效处理
2、目标当代社会中伴随着计算机技术在各行各业日益广泛和深入的应用,超市对货品于职员的管理不在像过去一样靠手工去做,在一些超市管理中也开始信息化信息化的管理可以为超市节省大量人力物力,提高其运行效率,从而为顾客提供更好的服务,实现超市的业务提升本系统就是为了适应这种要求而设计的集信息的显示、输入、修改、删除、查询等各种处理为一体,信息维护起来非常方便大大减少了超市的人力和物力本系统大致要做到以下几点
(1)操作简便,节省大量人力;
(2)可以方便的进行货品管理,安全、高效;
(3)可以迅速计算销售额和所买卖货品;
(4)可以迅速查到所需信息,便于管理1.1.4采用的体系结构本超市管理系统是基于C/S模式结构构建的Clients/Server结构(简称C/S结构)是九十年代流行的信息系统结构,在C/S结构下,应用系统被分为前台(客户机)和后台(服务器)两部分,其作用分别是应用处理由客户机完成,数据访问和事务处理由服务器完成这种方案实现了功能分布,即由客户机端提出查询请求,而服务器完成对数据库的查询任务,并把查询结果通过网络返回给客户机C/S模式响应速度快,网络通信负担小,适用于超市内部局域网,在超市内部的集中管理模式中发挥了重要作用超市管理系统是基于vc++前台Access做后台的系统第二章超市管理系统分析2.1可行性研究现在时间行进到21世纪,以计算机技术为主体的高新技术群体已经将触角深入到国发经济的方方面面在市场经济的大环境下,越来越多的人士逐渐认识到用计算机技术进行名类管理,交流的便捷应用之一就是超市中的计算机管理了如何利用先进的技术手段,提高进出帐的效率,是每一家超市所面临的重要课题现代超市所面临的问题是商品数目众多,商品内容繁杂,日常需要耗费大量人力和物力要想解决这一难题,就必须有一套科学、高效、严密、实用的超市管理系统采用现代计算机管理系统是实现此目标的主要途径在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的超市管理系统,实现超市的销售、财务自动化的计算机系统,为超市的决策层提供准确、精细、迅速的销售信息2.1.1技术可行性根据系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考虑能力与水平,并考虑近期内可以培养和发展操作人员2.1.2经济可行性估算系统的开发费用和今后的运行、维护费用,估计系统将获得的效益,并将费用与效益进行比较,看是否有利本系统的维护不需太多费用,适合于中小超市的管理操作系统的效益可以从经济效益和社会效益两方面考虑对于超市管理系统则应着重分析其经济效益例如,系统投入运行后可以提供哪些以前无法及时提供的信息,用户查询和使用信息的方便程度提高多少、速度增加了多少,对于管理人员进行决策提供了多少帮助等等,同时可以减少管理人员,从而节省了大量的工资开出2.1.3运行可行性系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价同时还应考虑管理人员的培训、补充,分析在给定时间里能否完成预定的系统开发任务等按上述三方面进行可行性分析、研究后,我们认为该项目是可行的2.2需求分析2.2.1系统的目的本系统的总目标是为管理者提供迅速、高效的服务,减免手工处理的繁琐与误差,整个系统包括八大模块用户管理,职员管理,商品管理,进货管理,库存管理,销售管理,操作日志,退出系统其中商品管理,进货管理,库存管理,销售管理是本系统要实现的主要功能各模块主要的几种操作:用户管理模块对管理者进行用户的注册,修改,删除操作职员管理模块对职员的信息相应操作商品管理模块对商品的信息进行相应操作进货管理模块对商品进行买进,入库,退货,及供货商等相应操作库存管理模块对库存商品进行相应操作,以及商品预警操作销售管理模块对各天购物信息的相关操作操作日志模块对管理者进行过的操作记录显示出来退出系统模块是退出本系统的一切操作2.2.2系统功能及用户需求
1、功能需求该系统只为管理员登陆操作
(1)管理员信息的注册、修改和删除和查看注册时间
(2)职员管理该模块包括职员的添加,修改,删除和查询,主要是为了实现新职员的加入登记,离职员工的删除记录,以及员工信息的管理,如修改查询
(3)商品管理对超市内的商品进行管理,对商品进行查看,添加和修改
(4)进货管理对进货的商品进行管理,并且可以查看所退商品的信息及供货商信息
(5)库存管理可以查看商品的当前库存、最大库存及最小库存,并且对商品库存量提供预警功能
(6)销售管理可以查看商品销售信息,并且可以对具体时间的销售额进行查询
(7)操作日志功能可以查看各个管理员进行的操作,也可查看管理员的操作时间与内容,增强系统的安全性
2、用户需求本系统主要针对的用户是超市人事处的管理员本系统能够完成任务是管理员登陆,并对超市信息进行管理第三章超市管理系统的设计
3.1系统的总体图3-1系统总框架图从图中可以得出该系统的总体框架,现在逐个实现
3.2数据表的建立本系统用Access建立数据库,使用ODBC连接,此方法较容易完成了数据的建立共计有十一个表,包括用户管理表(用户编号、用户名、用户密码、注册时间)职员信息表(职员编号、职员姓名、职员性别、职员年龄、职员电话、职员地址)商品信息表(商品编号、商品名称、商品类别、商品售价、商品进价、商品单位、商品所属厂商)进货管理表(商品编号、商品名称、商品类别、商品进价、商品单位、商品数量、商品总价、所属厂商、经手人、进货日期)退货管理表(商品编号、商品名称、商品类别、商品进价、商品单位、商品数量、商品总价、所属厂商、经手人、进货日期)供货商信息表(供货商编号、厂家名称、所供货品、经手人、联系电话、地址)库存信息表(商品编号、商品名称、当前库存、最大库存、最小库存、商品单位)库存警报表(商品编号、商品名称、当前库存、最大库存、最小库存、商品单位)销售信息表(商品编号、商品名称、商品进价、商品单位、商品数量、商品总价、销售日期)销售额信息表(商品编号、商品名称、商品进价、商品单位、商品数量、商品总价、销售年份、销售月份、销售日期(具体到年、月、日))操作日志表(操作员、所做事件、操作时间)
3.3数据表截图图3-2用户管理表图3-3职员信息表图3-4商品信息表图3-5进货管理表图3-6退货管理表图3-7供货商信息表图3-8库存信息表图3-9库存预警表图3-10销售信息表图3-11销售额信息表图3-12操作日志表
3.4功能的模块总体结构出来了,还有建立数据表,这两样工作做好了才能更加好的编码,从整体的设计开始,到建立数据表,一步一个脚印,只有走好了前面两步,打好基础,后面才回走得顺第四章超市管理系统的实现
4.1登陆界面图4-1系统登陆界面采用vc++对用户管理表的筛选出正确的用户名和密码登陆,代码如下ifm_name.IsEmpty||m_pass.IsEmpty{MessageBox用户名或密码为空;return;}ifyh.IsOpenyh.Close;yh.m_strFilter.Formaty_name=%sandy_pass=%sm_namem_pass;yh.Open;ifyh.IsEOF{MessageBox没有该用户请重新输入;m_name=;m_pass=;//admin=m_pass;ruji登录失败;UpdateDatafalse;return;}else{Cabcabc;admin=m_pass;ruji登录成功;this-ShowWindowSW_HIDE;abc.DoModal;}
4.2主界面
1、对对话框进行初始化,为背景插入图片代码(示例如下)voidCTubiaoDlg::OnPaint{CPaintDCdcthis;CBitmapm_bmpBK;m_bmpBK.LoadBitmapIDB_BITMAP1;CRectrect;GetClientRectrect;//获得目标尺寸,即窗口客户区的坐标BITMAPbitMap;//位图结构体m_bmpBK.GetBitmapbitMap;//获得原图片尺寸CDCdcMem;//目标DCdcMem.CreateCompatibleDCdc;//创建与dc兼容的内存DCdcMem.SelectObjectm_bmpBK;//将位图对象m_bmpBK选入内存DCdc.StretchBlt00rect.Widthrect.HeightdcMem00bitMap.bmWidthbitMap.bmHeightSRCCOPY;
2、对主界面按钮导入图标代码如下m_bt
1.SubclassDlgItemIDC_YHthis;//设置图标按钮m_bt
1.SetIconIDI_YH;m_bt
2.SubclassDlgItemIDC_ZYthis;m_bt
2.SetIconIDI_ZY;m_bt
3.SubclassDlgItemIDC_SPthis;m_bt
3.SetIconIDI_SP;m_bt
4.SubclassDlgItemIDC_JHthis;m_bt
4.SetIconIDI_JH;m_bt
5.SubclassDlgItemIDC_XSthis;m_bt
5.SetIconIDI_XS;m_bt
6.SubclassDlgItemIDC_KCthis;m_bt
6.SetIconIDI_KC;m_bt
7.SubclassDlgItemIDC_RZthis;m_bt
7.SetIconIDI_RZ;m_bt
8.SubclassDlgItemIDC_TCthis;m_bt
8.SetIconIDI_TC;
3、对列表进行初始化及显示代码如下yhb.Open;m_list.InsertColumn0用户编号;m_list.InsertColumn1用户名;m_list.InsertColumn2用户密码;m_list.InsertColumn3注册时间;RECTrect;m_list.GetWindowRectrect;intwid=rect.right-rect.left;m_list.SetColumnWidth0wid/4;m_list.SetColumnWidth1wid/4;m_list.SetColumnWidth2wid/4;m_list.SetColumnWidth3wid/4;yhxs;returnTRUE;}
4.3主要模块操作界面类型初始化代码BOOLCkcgl::OnInitDialog{CenterWindow;DWORDdwStyle=AW_CENTER;HINSTANCEhInst=LoadLibraryUser
32.DLL;typedefBOOLWINAPIMYFUNCHWNDDWORDDWORD;MYFUNC*AnimateWindow;AnimateWindow=MYFUNC*::GetProcAddresshInstAnimateWindow;AnimateWindowthis-m_hWnd1000dwStyle;FreeLibraryhInst;CDialog::OnInitDialog;UINTarray
[4];forinti=0;i4;i++{array[i]=100+i;}m_StatusBar.Createthis;//创建状态栏窗口m_StatusBar.SetIndicatorsarray4;//添加面板forintn=0;n4;n++{m_StatusBar.SetPaneInfonarray[n]SBPS_NORMAL160;//设置面板宽度}//设置面板文本m_StatusBar.SetPaneText0当前操作;m_StatusBar.SetPaneText1库存管理;m_StatusBar.SetPaneText2当前时间;CTimeTime;Time=CTime::GetCurrentTime;m_StatusBar.SetPaneText3Time.Format%Y-%m-%d%H:%M:%S;RepositionBarsAFX_IDW_CONTROLBAR_FIRSTAFX_IDW_CONTROLBAR_LAST0;SetTimer11000NULL;//设置定时器//TODO:Addextrainitializationherem_com.AddString商品编号;m_com.AddString商品名称;m_com.SetCurSel0;kcb.Open;m_list.InsertColumn0商品编号;m_list.InsertColumn1商品名称;m_list.InsertColumn2当前库存;m_list.InsertColumn3最大库存;m_list.InsertColumn4最小库存;m_list.InsertColumn5单位;RECTrect;m_list.GetWindowRectrect;intwid=rect.right-rect.left;m_list.SetColumnWidth0wid/6;m_list.SetColumnWidth1wid/6;m_list.SetColumnWidth2wid/6;m_list.SetColumnWidth3wid/6;m_list.SetColumnWidth4wid/6;m_list.SetColumnWidth5wid/6;kcb.Close;kcxs;returnTRUE;//returnTRUEunlessyousetthefocustoacontrol//EXCEPTION:OCXPropertyPagesshouldreturnFALSE}添加按钮的代码voidCkcgl::Ontianjia{//TODO:AddyourcontrolnotificationhandlercodehereCtgkctgkc;append=1;ruji添加库存;iftgkc.DoModal==IDC_tuichukcxs;}退出按钮的代码voidCkcgl::Ontuichu//动画退出{//TODO:AddyourcontrolnotificationhandlercodehereDWORDdwStyle=AW_BLEND;HINSTANCEhInst=LoadLibraryUser
32.DLL;typedefBOOLWINAPIMYFUNCHWNDDWORDDWORD;MYFUNC*AnimateWindow;AnimateWindow=MYFUNC*::GetProcAddresshInstAnimateWindow;AnimateWindowthis-GetSafeHwnd1000AW_HIDE|dwStyle;FreeLibraryhInst;OnOK;}查询代码voidCkcgl::Onchaxun{//TODO:AddyourcontrolnotificationhandlercodehereUpdateData;ruji库存查询;CStringxstrstr1;m_com.GetWindowTextx;ifx==商品编号str=k_code;elsestr=k_name;ifm_nb.IsEmpty{AfxMessageBox查询条件不能为空!!您可以按编号或姓名来查询!!;return;}if!m_nb.IsEmpty{ifkcb.Openkcb.Close;str1=str+=%s;kcb.m_strFilter.Formatstr1m_nb;kcxs;MessageBox结果是按+x+查询到的!!;}m_list.SetExtendedStyleLVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES;kcb.Close;}修改代码voidCkcgl::Onxiugai{//TODO:AddyourcontrolnotificationhandlercodehereCtgkctgkc;ruji修改库存;ift==-2{AfxMessageBox你没有选中要修改的记录;return;}else{t=m_list.GetSelectionMark;tgkc.m_code=m_list.GetItemTextt0;tgkc.m_name=m_list.GetItemTextt1;tgkc.m_now=atoim_list.GetItemTextt2;tgkc.m_max=atoim_list.GetItemTextt3;tgkc.m_min=atoim_list.GetItemTextt4;tgkc.m_danwei=m_list.GetItemTextt5;UpdateDatafalse;t=-2;append=2;iftgkc.DoModal==IDC_tuichukcxs;}}删除代码voidCkcgl::Onshanchu{//TODO:AddyourcontrolnotificationhandlercodehereCStringb;ruji删除库存;ift==-2{AfxMessageBox你没有选中要删除的记录;t=-2;return;}else{t=m_list.GetSelectionMark;b=m_list.GetItemTextt0;UpdateData;ifkcb.Openkcb.Close;kcb.m_strFilter.Formatk_code=%sb;kcb.Open;kcb.Delete;kcb.m_strFilter=;kcb.Requery;kcb.Close;kcxs;t=-2;AfxMessageBox删除成功啦!!!!;}}
4.4子窗口界面类型确定代码voidCtiangai::Onqueding{//TODO:AddyourcontrolnotificationhandlercodehereCjbjb;UpdateData;ifappend==1{ifjb.Openjb.Close;jb.m_strFilter.Formatj_code=%sm_code;jb.Open;intp=0;p=jb.GetRecordCount;jb.Close;ifp!=0{AfxMessageBox该商品已经存在;m_code=;m_name=;m_type=;m_jinjia=0;m_danwei=;m_number=0;m_changshang=;m_man=;m_riqi=;UpdateDatafalse;}else{UpdateData;jb.Open;jb.AddNew;ifm_code.IsEmpty||m_name.IsEmpty||m_type.IsEmpty||m_jinjia==0||m_danwei.IsEmpty||m_changshang.IsEmpty||m_man.IsEmpty||m_riqi.IsEmptyMessageBox添加失败请重新输入!;else{jb.m_j_code=m_code;jb.m_j_name=m_name;jb.m_j_type=m_type;jb.m_j_jinjia=m_jinjia;jb.m_j_danwei=m_danwei;jb.m_j_number=m_number;jb.m_j_zongjia=m_jinjia*m_number;jb.m_j_changshang=m_changshang;jb.m_j_man=m_man;jb.m_j_date=m_riqi;jb.Update;jb.Requery;MessageBox添加成功!请点击显示按钮即可查看!;}ifcb.IsOpencb.Close;cb.m_strFilter.Formatk_name=%sm_name;cb.Open;cb.Edit;cb.m_k_now=cb.m_k_now+m_number;cb.Update;ifcb.m_k_nowcb.m_k_max{ifyjb.IsOpenyjb.Close;yjb.Open;yjb.AddNew;yjb.m_c_code=cb.m_k_code;yjb.m_c_name=cb.m_k_name;yjb.m_c_now=cb.m_k_now;yjb.m_c_max=cb.m_k_max;yjb.m_c_min=cb.m_k_min;yjb.m_c_danwei=cb.m_k_danwei;yjb.Update;}}}elseifappend==2//修改职员{UpdateData;ifjb.Openjb.Close;jb.m_strFilter.Formatj_code=%sm_code;jb.Open;jb.Edit;jb.m_j_code=m_code;jb.m_j_name=m_name;jb.m_j_type=m_type;jb.m_j_jinjia=m_jinjia;jb.m_j_danwei=m_danwei;jb.m_j_number=m_number;jb.m_j_zongjia=m_jinjia*m_number;jb.m_j_changshang=m_changshang;jb.m_j_man=m_man;jb.m_j_date=m_riqi;jb.Update;jb.m_strFilter=;jb.Requery;MessageBox修改成功!请点击显示按钮即可查看!;}}
4.5销售额中查询的结果
4.3退出系统以上界面与代码为选择一些具有代表性的进行展示,本系统的各个功能的代码是所学到的知识,还有美化功能是我们通过在网上找资料,去图书馆借相关书籍回来学习实现的如创建状态栏时间,系统皮肤,为按钮导入图标,标题栏活动字体等等通过大家的共同努力及合作,最后圆满的完成了此系统的开发第五章结束语通过近三周的来的设计及编写代码,通过我们共同的努力及合作,终于完成了超市管理系统的开发,此次课程设计,过程中遇到了许许多许多的难题,但最后都被我们一一克服,在增长了知识的同时,也增强了我们的能力参考文献
[1]王育坚.VisualC++面对对象编程教程[M].清华大学出版社,
2007.
[2]VisualC++程序设计与应用教程题解及课程设计/马石安,魏文平编著.—北京清华大学出版社,
2009.7
[3]张立.VisualC++高级编程北京人民邮电出版社,2002年
[4]何炜张励.VisualC++.NET2003程序设计冶金工业出版社2004年
[5]http://cnds
7.download.csdn.net/登录主界面用户管理职员管理商品管理进货管理库存管理销售管理操作日志退出系统供货商查询退货查询库存警报销售额查询。