




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、超市会员管理系统超市会员管理系统要求建立起数据一致性和完整性强、数据安全性好的库。本系统主要是对超市会员和职员的基本信息进行有序管理,主要包括的功能 模块有:会员信息管理、积分信息管理、基本信息管理、统计、系统信息等。该系统是在 Microsoft Visual C+ 6.0 的开发工具前提下进行的,运用Visual C+语言,连接了 Microsoft Access 2003数据库,进行数据库的管理。简单目录:一 可行性研究1. 技术可行性2. 经济可行性3. 操作可行性二 功能需求1. 会员信息2. 积分信息3. 基本信息管理4. 统计5. 系统信息四五六6. 退出系统7. 系统工具栏环境
2、需求总体设计1. 系统登录权限2. 系统结构图3. 各具体功能模块图4. 基本信息管理模块5. 统计6. 系统信息 数据库设计1. 系统数据库分析2. 数据库概念结构设计3. 系统数据库的设计4. 表之间的关系 详细设计与实现1. 系统首页2. 登录页面3. 会员信息模块4. 积分信息模块5. 基本信息管理模块6. 统计7. 系统信息8. 退出系统9. 数据库连接设计与实现可行性研究可行性研究并不是解决问题,而是确定问题是否值得去解决,就是用最小的 代价在尽可能短的时间内确定问题是否能够解决。可行性研究最根本的任务是对 以后的行动方针提出建议。以下进行对超市会员管理系统的可行性分析:1. 技术
3、可行性:系统使用 VC+作为开发工具,数据库使用 MicrosoftAccess 支持的操作系统有 Win dowSOpe n(_bstr_t)sql,theApp.c onn .Getl nterfacePtr(),adOpe nKeys et,adLockOptimistic,adCmdText);/登录成功与否、登录次数判断if ( m_pRs-GetRecordCou nt()=0 )if ( m_Logi nNumadoEOF)CStri ng temp;m_EList.l nsertltem(1000,);for(int i=0;iGetFields()-Getltem(lo ng
4、)i)-Valuem_EList.SetltemText(row,i,temp);m_pRs-MoveNext();row+=1;4.3.2会员密码修改此模块用于修改会员的登录密码图4-5会员密码修改界面填入用户账号和旧密码后,系统检查数据库中是否有该记录,如果存在该记 录,则可填写新密码进行修改;若不存在,则系统给出提示信息。如下图:提示if确认输入了正确的用户账号和密码图4-6会员密码修改提示信息界面该模块单击事件由函数void CECodeModifyDIg: :OnOK实现,具体代码如下: sql=Update Login set DCode=+NewCode+ where DNO=”
5、+Name+”; trytheApp.co nn-Execute(_bstr_t)sql,NULL,adCmdText);catch(_com_error &e)AfxMessageBox(e.Descriptio n();AfxMessageBox 修 改成功”);4.积分信息模块(1) 积分查询该功能实现界面如下:因图4-7积分查询界面输入会员账号后,点击确定按钮,系统首先检查账号是否存在,若存在则输 出该会员积分信息;若不存在,输出提示信息。实现原理如会员信息模块中的会员查询。实现函数为:void CJQueryDlg:OnOK()。在编辑框中的显示实现为:var = m_pRs-Get
6、Collect(MScore);if(var.vt != VT_NULL)str1 = (LPCSTR)_bstr_t(var);GetDlgltem(IDC_EDIT_Jife n)-SetWi ndowText(str1);var = m_pRs-GetCollect(MGrade);if(var.vt !=VT_NULL)str2=(LPCSTR)_bstr_t(var);GetDlgltem(IDC_EDIT_Grade)-SetWi ndowText(str2);var = m_pRs-GetCollect(MDiscou nt);if(var.vt !=VT_NULL)str3=(
7、LPCSTR)_bstr_t(var);GetDlgltem(IDC_EDIT_Discout)-SetWi ndowText(str3);(2) 积分兑换积分兑换功能的实现界面如下:图4-8积分兑换功能实现界面用户输入账号和密码后,点击兑换按钮,该按钮的实现中,首先检查用户合 法性。若用户已兑换过积分,则提示及兑换;若积分不够兑换等级,则提示积分 不够;若兑换成功后,则显示用户等级和优惠折扣。该模块实现单击事件函数处理为:void CEXchangeDlg:OnOK()具体实现 如下:/修改数据库中积分sql=Update Score set MGrade=1,MDiscou nt=0.1
8、where MNO=”+mzh+”;trytheApp.co nn-Execute(_bstr_t)sql,NULL,adCmdText);catch(_com_error &e)AfxMessageBox(e.Descriptio n();AfxMessageBox(兑换成功”);(3) 消费加分该模块功能将会员的消费金额换为消费积分,如下图:图4-9消费加分模块界面实现图输入用户账号和消费金额后,首先检查数据库中是否存在该记录,如果存在, 则将该用户积分增加其消费金额数目,如不存在,系统弹出提示信息。模块单击事件处理由函数void CXiaoFeiDlg:O nOK()实现,具体代码如下:
9、 sql=Update Score setMScore=MScore+”+JiE+whereMNO=+UserZH+”;trytheApp.conn-Execute(_bstr_t)sql,NULL,adCmdText);catch(_com_error &e)AfxMessageBox(e.Description();AfxMessageBox添 加成功”);(4) 优惠讯息该模块为静态功能。点击优惠讯息菜单即出现超市积分的优惠政策及兑换政 策的对话框。5 基本信息管理模块1) . 职员信息管理(1) . 查询基本信息该模块功能实现基本与会员基本信息查询相同,在此不再赘述。实现该功能 的函数
10、为:void CEmployeeDlg:OnOK()实现该功能的SQL语句为:sql=select * from Employee where EID=+EmpID+;(2) . 修改职员信息该模块功能修改超市职员的基本信息。函数实现:void CMIMDIg:OnOK()其实现如下:GetDIgItem(IDC_EDIT1_EmpName)-GetWindowText(EXm);GetDIgItem(IDC_COMBO_EmpSta)-GetWindowText(EZw);if(EZw=管理员)EZw=0;eIse if(EZw= 普通职员) EZw=1;sqI=Update EmpIoye
11、e set EName=+EXm+,EStatus=+EZw+ whereEID=+EMId+;trytheApp.conn-Execute(_bstr_t)sqI,NULL,adCmdText);catch(_com_error &e)AfxMessageBox(e.Description();AfxMessageBox 修 改成功”);(3) . 修改密码职员修改密码模块与会员密码修改类似,实现函数为: voidCMModifyDIg:OnOK(,) 此处不再赘述。具体SQL语句实现为:sql=Update Login set DCode=”+NewCode+ where DNO=”+Na
12、me+”;trytheApp.co nn-Execute(_bstr_t)sql,NULL,adCmdText);catch(_com_error &e)AfxMessageBox(e.Descriptio n();(4) .添加职员信息管理员进入系统后可以按照需求添加职员信息,该模块首先检验输入是否为 空,若不为空,则可以进行添加,此功能同时将信息添加到Log in表和Employee 表中,界面实现如图:图4-10添加职工信息实现该事件的函数为:void CEAddEmplyeeDlg:OnOK()下面是添加职员信息的具体实现:sql= In sertin toEmployee(EID,E
13、Name,EStatus) values(+E no+T+E name+T+Esta+);values(+E no+T+Ecode+T+Esta+);trytheApp.co nn-Execute(_bstr_t)sql,NULL,adCmdText);theApp.co nn-Execute(_bstr_t)SQL,NULL,adCmdText);catch(_com_error &e)AfxMessageBox(e.Descriptio n();AfxMessageBox添 加成功”);(5) .删除职员信息该模块只能由管理员进行操作,管理员成功登录后,可以按照职员号删除职员信息,如图所示
14、:图4-11删除职工信息图在删除前,系统会给出提示,提醒用户是否确定要删除。点击是,则将该记 录从数据库中删除;点击否,贝U撤销删除行为实现函数为 void CDelEmpDlg:OnOK(,) 代码如下:if(MessageBox(确定要删除该记录吗?,提示,MB_YESNO)=IDYES)sql=delete from Employee where EID=+EmpNO+;SQL=delete from Login where DNO=+EmpNO+;trytheApp.conn-Execute(_bstr_t)sql,NULL,adCmdText);theApp.conn-Execute
15、(_bstr_t)SQL,NULL,adCmdText);catch(_com_error &e)AfxMessageBox(e.Description();AfxMessageBox 删 除成功”);2 会员信息管理会员信息管理包括会员信息查询、会员信息修改、会员注册、会员删除四个 模块,功能实现同职员信息管理模块中响应功能。实 现 函 数 分 别 为 : void CMemberDlg:OnOK()、 voidCModifyMemDlg:OnBUTTONModify、() void CMemAddDlg:OnOK(、) void CModifyMemDlg:O nBUTTONDel()此处
16、以会员信息修改和删除为例,其他功能实现略写。图4-12会员信息修改图中,灰色编辑框表示不可改。如果要修改信息则填入要修改的值,点击“确 定修改”即可修改成功;如果要删除该条记录,则点击“确定删除”系统会提 示,是否真的删除,若是,则从数据库表中将该记录删除,若否,则退出删除。此处实现的相关的SQL语句为:/修改sql=UpdateMembersetMName=”+UserName+,MTel=”+UserTel+,MAdd=”+UserAdd+whereMNO=+UserNO+”;trytheApp.co nn-Execute(_bstr_t)sql,NULL,adCmdText);catch
17、(_com_error &e)AfxMessageBox(e.Description();AfxMessageBox 修 改成功”);/ 删除if(MessageBox(确定要删除该记录吗?,提示,MB_YESNO)=IDYES)sql=delete from Member where MNO=+UserNO+;SQL=delete from Login where DNO=+UserNO+;trytheApp.conn-Execute(_bstr_t)sql,NULL,adCmdText);theApp.conn-Execute(_bstr_t)SQL,NULL,adCmdText);cat
18、ch(_com_error &e)AfxMessageBox(e.Description();AfxMessageBox 删 除成功”);6 统计统计模块是对超市会员积分进行统计,可以统计出各登记人数及所占百分 比,并以柱形图的形式显示出来图4-13统计分析功能实现图实现该功能的函数为:void CStatDlg:OnOK()具体实现:(1) 打开记录集,获得各等级人数;(2) 绘制柱形图/获取静态图片空间大小CWnd * pWnd=this-GetDlgltem(IDC_DRAW); pWnd-GetClie ntRect(&rectPic);/获取设备环境指针CDC *pDC=pWnd-G
19、etDC();/重新填充静态图片区域CBrush NewBrush;NewBrush.CreateSolidBrush(RGB(238,238,237);CBrush * pOldBrush=pDC-SelectObject(&NewBrush);pDC-Rectangle(&rectPic);pDC-SelectObject(pOldBrush);/ 确定每个柱形条的宽度int nLength=(rectPic.right-rectPic.left)/6;/ 定义五种颜色,用来填充柱形图COLORREF RGBArray6=RGB(0,255,0),RGB(128,0,255),RGB(0,
20、0,255),RGB(255,255,0), RGB(255,0,0),RGB(0,128,255);/ 定义一个矩形,表示柱形条CRect rect;for ( int i=0; iSelectObject(&NewBrush);pDC-Recta ngle(&rect);pDC-SelectObject(pOldBrush);/释放设备环境this-ReleaseDC(pDC);7系统信息1用户帮助系统调用帮助文件Market-Help.chm,对于不熟悉本系统的用户可以通过阅 读帮助文件了解系统如何使用。点击用户帮助菜单或帮助工具栏按钮后,即打开帮助文件,如图所示:图4-14用户帮助功能
21、实现图具体实现为:void CCMarketDlg:OnMENUHelp()char bufMAX_PATH;:GetCurrentDirectory(MAX_PATH,buf); / 获取程序根目录路径 :ShellExecute(NULL, open, Market-Help.chm, , , SW_SHOW); 2 关于本系统具体实现:void CCMarketDlg:OnMENUAbout() CDialog about(IDD_ABOUTBOX); about.DoModal();8 退出系统具体实现:void CCMarketDlg:OnMENUQuit() theApp.conn-Close();/ 关闭
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁农业职业技术学院《软件设计与规范》2024-2025学年第一学期期末试卷
- 宁波卫生职业技术学院《建筑模型制作》2024-2025学年第一学期期末试卷
- 湖南科技学院《商业经济学》2024-2025学年第一学期期末试卷
- 哈尔滨广厦学院《油画语言研究二》2024-2025学年第一学期期末试卷
- 德阳农业科技职业学院《投资学》2024-2025学年第一学期期末试卷
- 济宁学院《银行业务模拟实验》2024-2025学年第一学期期末试卷
- 工厂员工安全知识培训课件
- 工厂供配电职中课件
- 梁山语文面试题目及答案
- 安徽淮南亿联皖北五金家居城项目招商手册
- 加油站安全教育培训计划表及全套记录表模板
- 员工薪资调整审批表
- 除锈剂MSDS参考资料
- (完整word版)中医病证诊断疗效标准
- 新人教版八年级物理(下册)期末综合能力测试卷及答案
- 低压配电箱安装施工方案
- 蓄水池检验批质量验收记录(海绵城市质检表格)
- 单梁起重机安全操作培训课件
- 电动力学-同济大学中国大学mooc课后章节答案期末考试题库2023年
- 脑出血诊治指南
- 2022年重庆市汽车运输(集团)有限责任公司招聘考试真题
评论
0/150
提交评论