收藏 分享(赏)

超市管理系统软件开发文档.doc

上传人:知识的力量 文档编号:6376582 上传时间:2022-08-04 格式:DOC 页数:34 大小:69.54KB
下载 相关 举报
超市管理系统软件开发文档.doc_第1页
第1页 / 共34页
超市管理系统软件开发文档.doc_第2页
第2页 / 共34页
超市管理系统软件开发文档.doc_第3页
第3页 / 共34页
超市管理系统软件开发文档.doc_第4页
第4页 / 共34页
超市管理系统软件开发文档.doc_第5页
第5页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、超市管理系统软件开发文档石家庄学院 VC+程序设计 课程名称: 超市管理系统 设计题目: 计算机系 院系: * 专业: * 班级: * 设计者: * 学号: * 指导教师: 2010年 12月 31日 一、题目分析: 这是为小型超市提供的一个应用程序,对收支,进货,销售及人员等情况进行管理.由于商店规模小,可以把全部管理内容的输入和存储,管理都集中在一台计算机上,不需要计算机网络分布处理,因此是一个典型的桌面数据库应用系统。 二、概要设计 部分对话框如下: 控制类型 ID 属性设置 Button IDC_BUTTON_ADD Caption设为“增加(&A)” Button IDC_BUTTO

2、N_DELETE Caption设为“清除记录(&D)” Button IDC_BUTTON_MODIFY Caption设为“返回(M)” Static Text 默认 Caption设为“货品ID” Static Text 默认 Caption设为“售价” Static Text 默认 Caption设为“货品名称” Static Text 默认 Caption设为“数量 Static Text 默认 Caption设为“总价” Static Text 默认 Caption设为“售货员” Edit Box IDC_EDIT_ID 默认 Edit Box IDC_EDIT_NAME 默认 E

3、dit Box IDC_EDIT_NUM 默认 Date Time Picker IDC_EDIT_ZONGJIA 默认 List Control IDC_LIST_EMPLOYEEID View选中Report Group Box 默认 Caption设为“操作” 三、结果分析: (1)登录界面如下图所示: 在登录界面输入正确用户名和密码弹出“欢迎进入吉吉超市管理系统”对话框,如下图所示: 若输入的用户名或密码错误则弹出用户名或密码错误的窗口,提示重新输入,弹出的窗体如下图所示: (2)在弹出的“欢迎进入”的窗体中点击确定,则进入超市管理的主界面,如下图所示,点击则可进入相应的管理界面: (

4、3)点击主界面的登陆管理密码修改,则可以修改密码,以保证安全 若输入的旧密码错误或新密码与密码确认不一致,则弹出“error”,如下图所示: (4) 进入管理主界面的营销管理-进货管理,则进入库存管理,此处输入新进货品信息:货品ID,货品名等,点击添加则列表处显示更新后的货品信息,在列表中点击一行纪录,再点击删除可实现列表处的货品删除,若未选中则弹出“您没有选中纪录”,并且同时更新库存数据库的货品信息。 若在位选中时点击删除,则弹出“您未选任何纪录”的窗口,提示需要选中,如下图所示: 例如在右方输入货品ID,货品名等信息后,点击添加,界面如下图所示: (5) 进入管理主界面的营销管理-销售管理

5、,则进入销售管理界面,在下方填入售货信息后,点击确定可添加到列表框中,点击清空纪录则清除整个列表框中的信息。 例如点击清空纪录后,界面如下图所示: (6) 在计算总价时,点击计算器按钮,则弹出计算器的对话框,便于计算。下图为计算器界面,可以实现加减乘除,开方,求余数以及倒数的运算,点击CE则清零,点击Backspace实现消除一位的操作。 例如点击进行4。5*33,出现的界面如下图所示: (7) 点击主界面中的超市管理-员工管理,则进入此界面,在此可增加或删除和利用员工姓名、员工ID和身份证号查找员工信息。 点击查找,界面如下图所示: 若想按员工ID查找员工信息,在查找条件处选择员工ID,例如

6、输入员工ID号01,界面如下图所示: 按员工姓名查找员工信息,输入李四,界面如下图所示: 按员工身份证号查找员工信息,在查找条件中选择身份证号,例如输入123451,界面如下图所示: 例如选中第三行点击删除后界面如下图所示 (8) 登录超市管理中的VIP管理进入此界面,填入超市会员的VIP号,姓名和积分,可以添加会员纪录,点击删除则删除列表中点中的的会员记录,并同时更新数据库中的信息. 四、附录(各模块程序代码:) (1)登录代码: void CLoginDlg::OnOK() UpdateData(true); CLoginSet m_set; if(m_set。IsOpen()) m_se

7、t.Close(); m_set.m_strFilter.Format(”userid=s AND passwd=%s ,m_userid,m_passwd); m_set.Open(); if(!m_set。IsEOF() MessageBox(Welcome!”); m_ID=m_userid; else MessageBox(”error!”); m_set。Close(); CDialog:OnOK(); void CLoginDlg:OnPaint() CPaintDC dc(this); / device context for painting / TODO: Add your

8、message handler code here / CPaintDC dc(this); / device context for painting CBitmap bitmap; bitmap.LoadBitmap(IDB_chao); CBrush brush; brush。CreatePatternBrush(bitmap); CBrush pOldBrush = dc.SelectObject(brush); dc.Rectangle(0,0,600,400); dc。SelectObject(pOldBrush); / Do not call CDialog::OnPaint()

9、 for painting messages (2)登录管理代码: void CChangePasswd::OnOK() UpdateData(true); CLoginSet m_set; if(m_set。IsOpen()) m_set.Close(); m_set.m_strFilter.Format(”userid=%s AND passwd=%s”,m_ID,m_old); m_set.Open(); if(!m_set.IsEOF()) if(m_new=m_newsure) m_set。Edit(); m_set。m_passwd=m_new; m_set.Update(); M

10、essageBox(Success!”); else MessageBox(error!”); else MessageBox(error!”); m_set.Close(); CDialog::OnOK(); void CChangePasswd:OnPaint() CPaintDC dc(this); / device context for painting / TODO: Add your message handler code here / CPaintDC dc(this); / device context for painting CBitmap bitmap; bitmap

11、.LoadBitmap(IDB_mima); CBrush brush; brush。CreatePatternBrush(&bitmap); CBrush pOldBrush = dc.SelectObject(brush); dc。Rectangle(0,0,600,400); dc。SelectObject(pOldBrush); / Do not call CDialog:OnPaint() for painting messages (3)员工管理代码: BOOL CEmployeeDlg:OnInitDialog() CDialog::OnInitDialog(); m_EmpLi

12、st.SetTextColor(RGB (0, 0, 0); m_EmpList.SetBkColor(RGB(255,255,255)); m_EmpList。SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); m_EmpList。InsertColumn(0,_T(雇员代号”), LVCFMT_CENTER,100); m_EmpList。InsertColumn(1,_T(姓名”), LVCFMT_CENTER,80); m_EmpList.InsertColumn(2,_T(”性别”), LVCFMT_CENTER,100)

13、; m_EmpList。InsertColumn(3,_T(年龄”), LVCFMT_CENTER,100); m_EmpList。InsertColumn(4,_T(身份证号”), LVCFMT_CENTER,120); m_EmpList.InsertColumn(5,_T(”电话”), LVCFMT_CENTER,100); m_set.Open(); m_set.MoveFirst(); int i=0; / CString str; while(!m_set。IsEOF()) m_EmpList。InsertItem(i,m_set。m_EmpNo); m_EmpList.SetIt

14、emText(i,1,m_set.m_EmpName); m_EmpList。SetItemText(i,2,m_set.m_EmpSex); m_EmpList。SetItemText(i,3,m_set.m_EmpAge); m_EmpList.SetItemText(i,4,m_set。m_EmpID); m_EmpList.SetItemText(i,5,m_set.m_EmpTel); i+; m_set。MoveNext(); m_set.Close(); return TRUE; void CEmployeeDlg:OnDeleteEmp() int i=m_EmpList.Ge

15、tSelectionMark(); if(i=-1) MessageBox(”没有选中纪录!”); else m_EmpList.DeleteItem(i); m_set。Open(); m_set.Move(i); m_set.Delete(); m_set.Close(); void CEmployeeDlg:OnAddEmp() UpdateData(); m_set。Open(); if(IDC_AddEmp) int i=m_EmpList.GetItemCount(); /CString str; m_EmpList。InsertItem(i,m_EmpNo); m_EmpList

16、.SetItemText(i,1,m_EmpName); m_EmpList.SetItemText(i,2,m_EmpSex); m_EmpList.SetItemText(i,3,m_EmpAge); m_EmpList。SetItemText(i,4,m_EmpID); m_EmpList。SetItemText(i,5,m_EmpTel); m_set.AddNew(); m_set.m_EmpNo=m_EmpNo; m_set。m_EmpName=m_EmpName; m_set.m_EmpSex=m_EmpSex; m_set。m_EmpAge=m_EmpAge; m_set。m_

17、EmpID=m_EmpID; m_set。m_EmpTel=m_EmpTel; m_set.Update(); UpdateData(false); m_set.Close(); void CEmployeeDlg:OnPaint() CPaintDC dc(this); / device context for painting / TODO: Add your message handler code here CBitmap bitmap; bitmap.LoadBitmap(IDB_mima); CBrush brush; brush。CreatePatternBrush(&bitma

18、p); CBrush pOldBrush = dc。SelectObject(&brush); dc。Rectangle(0,0,600,400); dc。SelectObject(pOldBrush); / Do not call CDialog::OnPaint() for painting messages (4)会员管理代码: BOOL CVguanli:OnInitDialog() CDialog:OnInitDialog(); / TODO: Add extra initialization here m_Vlist.SetTextColor(RGB (0, 0, 0)); m_V

19、list。SetBkColor(RGB(255,255,255); m_Vlist.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); m_Vlist。InsertColumn(0,_T(VIP号), LVCFMT_CENTER,100); m_Vlist.InsertColumn(1,_T(”姓名), LVCFMT_CENTER,80); m_Vlist.InsertColumn(2,_T(”积分”), LVCFMT_CENTER,100); m_set。Open(); m_set。MoveFirst(); int i=0; /

20、CString str; while(!m_set。IsEOF()) m_Vlist.InsertItem(i,m_set。m_VIPhao); m_Vlist。SetItemText(i,1,m_set。m_name); m_Vlist.SetItemText(i,2,m_set.m_jifen); i+; m_set。MoveNext(); m_set.Close(); return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return

21、FALSE void CVguanli::Onadd() / TODO: Add your control notification handler code here UpdateData(); m_set.Open(); if(IDC_add) int i=m_Vlist.GetItemCount(); /CString str; m_Vlist.InsertItem(i,m_VIPhao); m_Vlist.SetItemText(i,1,m_name); m_Vlist.SetItemText(i,2,m_jifen); m_set。AddNew(); m_set。m_VIPhao=m

22、_VIPhao; m_set.m_name=m_name; m_set。m_jifen=m_jifen; m_set。Update(); UpdateData(false); m_set。Close(); void CVguanli:Ondelete() int i=m_Vlist.GetSelectionMark(); if(i=1) MessageBox(没有选中纪录!”); else m_Vlist。DeleteItem(i); m_set.Open(); m_set.Move(i); m_set。Delete(); m_set。Close(); / TODO: Add your con

23、trol notification handler code here void CVguanli::OnPaint() CPaintDC dc(this); / device context for painting / TODO: Add your message handler code here CBitmap bitmap; bitmap。LoadBitmap(IDB_vip2); CBrush brush; brush.CreatePatternBrush(bitmap); CBrush* pOldBrush = dc。SelectObject(&brush); dc.Rectan

24、gle(0,0,600,400); dc.SelectObject(pOldBrush); / Do not call CDialog:OnPaint() for painting messages (5)库存管理: void CstockDlg::Onadd() CStockset m_set; / TODO: Add your control notification handler code here UpdateData(true); m_set.Open(); if(IDC_add) int i=m_StockList.GetItemCount(); CString str; m_S

25、tockList。InsertItem(i,m_GoodsID); m_StockList.SetItemText(i,1,m_GoodsName); m_StockList.SetItemText(i,2,m_Manufacturer); str。Format(”%d”,m_set。m_StockAmount); m_StockList。SetItemText(i,3,str); str.Format(”%d,m_set。m_StockPrice); m_StockList.SetItemText(i,4,str); m_set.AddNew(); m_set.m_GoodsID=m_Goo

26、dsID; m_set.m_GoodsName=m_GoodsName; m_set.m_Manufacturer=m_Manufacturer; m_set.m_StockAmount=m_StockAmount; m_set。m_StockPrice=m_StockPrice; m_set.Update(); UpdateData(false); m_set。Close(); void CstockDlg::Ondelete() CStockset m_set; / TODO: Add your control notification handler code here int i=m_

27、StockList。GetSelectionMark(); if(i=1) MessageBox(没有选中纪录!); else m_StockList.DeleteItem(i); m_set。Open(); m_set。Move(i); m_set.Delete(); m_set。Close(); BOOL CstockDlg::OnInitDialog() CDialog::OnInitDialog(); CStockset m_set; / TODO: Add extra initialization here m_StockList。SetTextColor(RGB (0, 0, 0)

28、; m_StockList。SetBkColor(RGB(255,255,255); m_StockList.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); m_StockList.InsertColumn(0,_T(”货品ID), LVCFMT_CENTER,100); m_StockList.InsertColumn(1,_T(”货品名”), LVCFMT_CENTER,80); m_StockList。InsertColumn(2,_T(生产商), LVCFMT_CENTER,100); m_StockList。Inser

29、tColumn(3,_T(”数量), LVCFMT_CENTER,100); m_StockList。InsertColumn(4,_T(”进价), LVCFMT_CENTER,120); m_set.Open(); m_set。MoveFirst(); int i=0; / CString str; while(!m_set。IsEOF()) m_StockList.InsertItem(i,m_set.m_GoodsID); m_StockList.SetItemText(i,1,m_set.m_GoodsName); m_StockList。SetItemText(i,2,m_set。m

30、_Manufacturer); CString str; str。Format(”d,m_set。m_StockAmount); m_StockList.SetItemText(i,3,str); str。Format(%.2f”,m_set。m_StockPrice); m_StockList.SetItemText(i,4,str); i+; m_set.MoveNext(); m_set。Close(); return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property P

31、ages should return FALSE void CstockDlg:OnCancel2() / TODO: Add your control notification handler code here CDialog::OnCancel(); void CstockDlg::OnButton1() / TODO: Add your control notification handler code here CDialog::OnCancel(); void CstockDlg::OnPaint() CPaintDC dc(this); / device context for

32、painting / TODO: Add your message handler code here CBitmap bitmap; bitmap.LoadBitmap(IDB_jinhuo); CBrush brush; brush.CreatePatternBrush(&bitmap); CBrush pOldBrush = dc.SelectObject(brush); dc。Rectangle(0,0,600,400); dc.SelectObject(pOldBrush); / Do not call CDialog::OnPaint() for painting messages

33、 (6)销售管理:void CSell::OnOK() / TODO: Add extra validation here UpdateData(); m_set.Open(); int i=m_Selllist.GetItemCount(); CString str; m_Selllist.InsertItem(i,m_GoodsID); m_Selllist.SetItemText(i,1,m_GoodsName); str.Format(d”,m_SellNumber); m_Selllist.SetItemText(i,2,str); str。Format(”%。2f”,m_SellP

34、rice); m_Selllist。SetItemText(i,3,str); m_Selllist。SetItemText(i,4,m_Salesman); str.Format(”。2f”,m_zongjia); m_Selllist.SetItemText(i,5,str); m_set。AddNew(); m_set。m_GoodsID=m_GoodsID; m_set.m_GoodsName=m_GoodsName; m_set。m_Number=m_SellNumber; m_set。m_Price=m_SellPrice; m_set.m_EmpNo=m_Salesman; m_

35、set.m_zongjia=m_zongjia; m_set.Update(); UpdateData(false); m_set.Close(); / CDialog::OnOK(); BOOL CSell:OnInitDialog() CDialog:OnInitDialog(); m_Selllist。SetTextColor(RGB (0, 0, 0); m_Selllist。SetBkColor(RGB(255,255,255)); m_Selllist.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT); m_Sellli

36、st.InsertColumn(0,_T(”货品ID”), LVCFMT_CENTER,100); m_Selllist.InsertColumn(1,_T(”货品名称), LVCFMT_CENTER,80); m_Selllist。InsertColumn(2,_T(销售数量), LVCFMT_CENTER,100); m_Selllist.InsertColumn(3,_T(售价”), LVCFMT_CENTER,100); m_Selllist.InsertColumn(4,_T(”售货员姓名), LVCFMT_CENTER,120); m_Selllist.InsertColumn(5

37、,_T(”总价), LVCFMT_CENTER,100); m_set.Open(); m_set.MoveFirst(); int i=0; CString str; while(!m_set.IsEOF() m_Selllist。InsertItem(i,m_set。m_GoodsID); m_Selllist。SetItemText(i,1,m_set。m_GoodsName); str。Format(”%d”,m_set.m_Number); m_Selllist。SetItemText(i,2,str); str.Format(%。2f”,m_set.m_Price); m_Sell

38、list.SetItemText(i,3,str); m_Selllist.SetItemText(i,4,m_set。m_EmpNo); str。Format(”%.2f,m_set。m_zongjia); m_Selllist.SetItemText(i,5,str); i+; m_set.MoveNext(); m_set。Close(); return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE void CSe

39、ll:Onjisuanqi() / TODO: Add your control notification handler code here CjiauniDlg dlg; dlg.DoModal(); void CSell::Onkong() / TODO: Add your control notification handler code here CSellset m_set; / TODO: Add your control notification handler code here m_Selllist.DeleteAllItems(); m_set.Open(); m_set

40、.Delete(); m_set.Close(); void CSell:OnCancel() / TODO: Add extra cleanup here CDialog::OnCancel(); void CSell::OnPaint() CPaintDC dc(this); / device context for painting / TODO: Add your message handler code here CBitmap bitmap; bitmap.LoadBitmap(IDB_jinhuo); CBrush brush; brush.CreatePatternBrush(

41、&bitmap); CBrush pOldBrush = dc。SelectObject(&brush); dc.Rectangle(0,0,600,400); dc。SelectObject(pOldBrush); / Do not call CDialog::OnPaint() for painting messages (7)计算器代码: void CjiauniDlg:OnButton1() / TODO: Add your control notification handler code here UpdateData(true); if(key=0) m_jieguo=m_jie

42、guo10+1; else m_jieguo=m_jieguo+1.0/mi; mi=mi10; UpdateData(false); void CjiauniDlg::OnButton2() / TODO: Add your control notification handler code here UpdateData(true); if(key=0) m_jieguo=m_jieguo10+2; else m_jieguo=m_jieguo+2。0/mi; mi=mi10; UpdateData(false); void CjiauniDlg:OnButton3() / TODO: A

43、dd your control notification handler code here UpdateData(true); if(key=0) m_jieguo=m_jieguo*10+3; else m_jieguo=m_jieguo+3。0/mi; mi=mi*10; UpdateData(false); void CjiauniDlg:OnButton4() / TODO: Add your control notification handler code here UpdateData(true); if(key=0) m_jieguo=m_jieguo10+4; else m

44、_jieguo=m_jieguo+4。0/mi; mi=mi10; UpdateData(false); void CjiauniDlg::OnButton5() UpdateData(true); if(key=0) m_jieguo=m_jieguo10+5; else m_jieguo=m_jieguo+5。0/mi; mi=mi*10; UpdateData(false); void CjiauniDlg::OnButton6() UpdateData(true); if(key=0) m_jieguo=m_jieguo10+6; else m_jieguo=m_jieguo+6.0/mi; mi=mi10; UpdateData(false); void CjiauniDlg:OnButton7() UpdateData(true); if(key=0) m_jieguo=m_jieguo*10+7; else m_jieguo=m_jieguo+7.0/mi; mi=mi10; UpdateData(false); void CjiauniDlg::OnButton8() UpdateData(true); if(key=0) m_jieguo=m_jieguo10+8; else m_jieguo=m_jieguo

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报