台球厅收费管理系统计算机课程设计报告书
- 格式:doc
- 大小:1.48 MB
- 文档页数:44
数据库课程设计报告台球厅管理运营系统设计目录1 系统简介 (1)2 需求分析 (1)2.1 需求调查 (1)2.2 数据流程图......................... 错误!未定义书签。
2.3 数据字典 (5)3 概念结构设计 (10)4 逻辑结构设计 (11)5 物理结构设计 (11)6 系统主要查询功能及SQL语句 (13)7 设计说明及体会 (13)1系统简介本系统用于台球厅日常运营和管理,可以实现会员的管理,球桌的分配,消费的结算等功能。
2需求分析2.1需求调查台球厅顾客分为会员和非会员,会员消费有一定的折扣。
球桌与顾客在使用的时候是一对一的关系。
结算方式有两种,一种现金结算(非会员),一种刷卡结算(会员)对系统功能的要求:查询(球桌使用情况,会员信息)会员信息更新(会员充值,会员信息更改,新会员注册,删除会员,会员升级)结算(基本结算,月底结算,年底结算)2.2 数据流程图总流程图二级分流程图P1消费分流程图ArrayP2 结算分流程图合并后流程图2.3数据字典数据项数据结构数据存储数据流处理顾客(会员号,姓名,性别,身份证号,会员类型,联系电话,余额)球桌(球桌号,球桌类型,是否可用)操作(球桌号,会员号,起始时间,结束时间)应付帐(会员号,球桌号,应付金额,起始时间)折扣规则(会员类型,折扣)5物理结构设计<顾客><球桌><操作><应付帐><折扣规则>6系统主要查询功能及SQL语句1.查询所有会员信息Select *From 顾客2.查询可使用的球桌Select 球桌号From 球桌Where 是否可用=13.查询会员100001的余额Select 余额From 顾客Where 会员号=‘100001’7 设计说明及体会本题目是我们组成员自己从日常生活中选出的。
因为创作水平的有限很可能达不到台球厅的具体营运要求,但本组成员积极参与,多次进行实地调查,结合所学课程,认真研究商讨,在没有任何以往的实例可供参考的情况下自行设计制作得出了以上结果。
软件使用一、进入系统在桌面上双击“合众台球计费系统”图标,即可进入合众台球计费管理系统软件。
为了确保系统的安全性系统需要登录才能进行操作,系统设有两种用户。
第一种为为系统管理者即经理,他可以对系统进行安装设置(如球桌价格,时段、酒水价格)。
该级别用户一般由老板掌握密码(不要把权限给服务员)。
它的用户名是“GL”,初始口令是“999” (注意,所有字母都是大写的。
)另一级为服务员级,服务员级用户可以进行营业操作和查看、打印小票,不可以删除数据。
系统内置有用户名为“001”和“002”二个用户(密码分别为“001”、”002”)。
和用户名对应。
系统正式运行以后,您可以删除它们重新建立新的经理级和收银员级用户,也可以通过修改它们来满足您的不同需要。
这里需要提醒您的是,不要把所有经理级用户都删除了,否则您将无法重新设置用户。
输入了正确“用户名”和“密码”以后即可进入如下的屏幕画面:二“开台”、“关台”和“结账”“开台”、“关台”和“结账”可能是您最常使用的功能了,也是本套系统的核心所在。
用鼠标点击屏幕的未开灯台球桌图标即可进行“开台”操作。
点击未开灯台球桌图标后电脑会提示您定时和押金,如点击定时选项,则可输入定时的分钟数。
如存在押金在押金对话框中输入押金金额。
进行完上述设定以后,用鼠标点击“确定”按钮即可实现台球桌的开台操作。
开台后,台球桌图标变为亮的开台台球桌,同时台球照明灯点亮,屏幕计费开始。
对于定时开台的球台,在离定时结束时间只有5 分钟时候,屏幕上的台球桌图标改变为带表图案,当定时结束时间已经到了的时候,则屏幕上的台球桌图标出现结帐两字,同时电脑计费停止并关闭相应球台的照明灯。
“关台”和“结账”是二个同步操作。
点击电脑屏幕正在计费的台球桌图标即可实现台球桌的“关台”和“结账”操作。
点击后,出现如下的球台结账画面:在该界面中,您可以有如下选择:(1)查看收费;(2)销售酒水;(3)查看换台情况。
(4)查看台费收费明细。
课程设计报告课程名称:计算机实践(1)项目名称:台球厅收费管理系统学院:专业:姓名/学号:班级:实验时间:成绩:指导教师:(一)课题介绍题目:台球厅管理系统设计目标:实现台球厅的数字化管理,规范化管理借入借出,准确定位,实现增删改查。
实验环境:前台使用C++编写,实现工具visual studio 2013 update4。
需求分析:台球厅管理系统:主要涉及台球厅的卡号管理,又可以分为两种情况,会员卡号和普通卡号。
用户管理方面分成操作员和管理员两种。
系统功能模块包括:(1)系统登录模块:根据不同权限将用户角色分为操作人员和管理员,操作人员可以进行系统操作;管理员可以对用户进行管理。
(2)会员卡号模块:记录卡号和用户姓名、身份证号、账户余额、是否续费等信息。
(3)系统管理模块:管理员可以进行系统的管理,包括用户信息的增、删、改、查。
(4)普通卡号模块:记录普通卡号、身份证号、进入和离开时间以及费用等信息。
项目的研究思路是:首先划分为会员卡和普通卡两种。
会员卡的特点是输入用户名、密码便可登陆,可充值会员使用。
普通卡的特点是记录上网时间,按时间先收费。
概念结构设计:一张用户管理表,表名[用户表]一张会员打台球,简称[会员卡]一张普通,简称[普通卡]所有用户共同使用一个主界面,在用户登录的时候确定用户及其权限,当登录的用户没有该项权限时,在界面中这项权限所对应的功能模块不能被点击,这样的设计方便了系统管理和维护。
用户在使用本系统时的工作过程为:进入系统后,会看到登录窗体,对用户的身份进行验证,身份正确则进入本系统,登录到主界面,选择需要的功能进行操作,结束后退出本系统。
如图所示。
图系统流程分析图管理员操作员 管理员 操作员图 系统功能模块 逻辑结构设计:用户表将涉及以下属性:姓名、密码、新密码、确认密码。
会员卡将涉及以下属性: 卡号、用户姓名、身份证号、账户余额、是否续费。
普通卡将涉及以下属性:普通卡号、身份证号、普通卡状态、进入和离开时间以及费用。
收费管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言在收费管理系统中的应用,掌握基本的数据结构(如数组、结构体)和文件操作相关知识。
2. 学会使用C语言编写程序,实现收费管理系统的基本功能,如用户注册、登录、费用查询、费用缴纳等。
3. 了解收费管理系统的设计思路和模块划分,掌握模块化编程的方法。
技能目标:1. 培养学生运用C语言解决实际问题的能力,提高编程实践技能。
2. 学会使用调试工具,能够自主调试程序,找出并修复错误。
3. 提高团队协作能力,学会与他人共同分析问题、设计解决方案。
情感态度价值观目标:1. 培养学生积极探究、勇于实践的精神,增强学习编程的兴趣。
2. 培养良好的编程习惯,注重代码规范和程序优化。
3. 增强学生的网络安全意识,认识到收费管理系统在实际应用中的重要性。
课程性质:本课程为实践性较强的课程,要求学生在掌握C语言基础知识的基础上,运用所学知识进行实际编程。
学生特点:学生已经具备一定的C语言基础,但实际编程经验不足,对收费管理系统这一实际应用场景较为陌生。
教学要求:注重理论与实践相结合,通过讲解、示范、练习、讨论等多种教学方式,引导学生掌握收费管理系统的设计与实现方法。
同时,关注学生的个体差异,提供个性化指导,确保每个学生都能达到课程目标。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 数据结构与文件操作:回顾C语言中的数组、结构体等基本数据结构,介绍文件操作相关知识,为编写收费管理系统打下基础。
- 数组的使用与操作- 结构体的定义与使用- 文件读写操作2. 收费管理系统功能模块设计:- 用户注册模块:实现用户注册功能,包括用户名、密码等信息的存储- 用户登录模块:实现用户登录功能,验证用户名和密码的正确性- 费用查询模块:实现用户费用查询功能,展示用户消费记录- 费用缴纳模块:实现用户费用缴纳功能,包括充值、支付等操作3. 编程实践与模块化设计:- 编程规范与代码优化- 模块化编程方法与实践- 调试工具的使用与程序调试技巧4. 团队协作与项目实践:- 分析与讨论:分组讨论,共同分析收费管理系统的需求与设计- 项目实践:小组成员分工合作,共同完成收费管理系统的设计与实现5. 教学进度安排:- 第一周:数据结构与文件操作知识回顾- 第二周:收费管理系统功能模块设计- 第三周:编程实践与模块化设计- 第四周:团队协作与项目实践,完成收费管理系统设计与实现教学内容与教材关联性:本课程教学内容与教材相关章节紧密相关,如数据结构与文件操作、模块化编程、调试技巧等,确保学生能够将所学知识应用于实际项目中。
鸿威台球厅计费系统功能说明鸿威软件适用于台球厅、桌球馆、台球俱乐部、棋牌房、棋牌室、苶座、网球场、网球馆、网球俱乐部、乒乓球场、乒乓球馆其它按时消费场所。
它主要包括三个功能板块,分别为:基本功能,高级功能和系统功能。
基本功能:会员档案及管理、商品档案及管理、计费方式设置、桌台档案设置、会员级别设置、积分规则设置、技师培训设置、器材出租设置、临时打折设置、优惠券设置、储物柜管理、我的记事本、系统运行参数设置、用户及权限设置。
基本功能会员档案及管理对会员的新增、修改、注销、存款、取款、转账、挂失补卡基本信息的管理以及会员的积分兑换、优惠等级、积分规则、提成方式的设置。
新会员可以添加会员的基本信息,如设置该会员的优惠级别、会员卡的有效期等信息。
积分兑换是对该会员所拥有的积分进行库内已有商品的兑换;优惠级别是对各种优惠卡开放式的会员设置。
系统支持储值卡、折扣卡设置,包括新增、删除、修改、权限四方面。
不同卡的桌台费折扣、商品折扣、陪练折扣、出租折扣可以单独设置。
储值卡可以单独设置卡内余额大于0或卡内余额小于0时不同桌台费折扣、商品折扣、陪练折扣、出租折扣;储值卡可以设置从卡内扣除的项目:桌台费、商品费、陪练费、出租费;可以设置不同的积分上下限,会员根据设置自动升级;可以对该会员卡的适用计费方式加以权限;另外,还可以对存款方式进行设定,如不允许存款、开放奖励、存款不奖励等,其中阶梯比例赠送是一种很好的促销方式,可以根据商家自己设定。
此外,对于优惠级别设置中对管理员和收银员设置了权限,老板可以对其进行设置,限制收银员办理优惠卡的权限。
积分规则是对会员积分的一种设置,在是否启用积分处划勾则表示此功能有效,可以对储值卡会员选择存款和消费两种方式进行获得积分;可以对桌台费、商品费、陪练费、出租费进行积分设置;左下角的“复制到…”则是快速设置同类商品积分的有效工具。
提成方式是对服务员(员工)提成的设置,包括桌台费、商品费、陪练费、出租费、售卡的提成;左下角的“复制到…”是对同类费用提成的设置。
台球、乒乓球、羽毛球、棋牌室计费管理系统操作手册欢迎使用嘉和台球计费管理系统,【系统流程】作如下设置:【台位设置】―>>【台位时段收费标准设置】―>>【系统参数设置】―>>【会员登记】―>>【商品类别设置】.(具体操作参考对应介绍,如果不作会员制可以忽略【会员登记】设置)【界面类型】设置1、表格样式2、图片样式、3、使用豪华界面系统内部设置:在客人结帐时如果打折,只是台位费打折,客人商品消费不打折.会员结帐时,输入会员卡号和会员密码,系统自动按该台位的会员价格进行结帐.系统登录界面:鼠标双击本软件图标,开始使用台球记费管理系统,首先出现系统登录对话框,如图所示:-------------系统登录对话框本系统后可见到六个功能菜单,分别是:一.基础参数设置1.锁定计算机:当管理人员有特殊任务需要暂时离开时,可以点击[锁定]按钮,则可以进入锁定画面,防止此时有人篡改系统信息,如图:当要退出锁定画面时,敲键盘回车【Enter】键,输入退出口令:1,再敲键盘【Enter回车】健或点击【解除锁定】按-------------钮,即可回到主界面。
锁定画面2.换班:当前收款员下班时点击【换班】,显示【登录】窗口,其它收款员重新登录。
3.台位设置:中设置【台位号】,【台位名称】,【最小计费分钟数】,【最低消费计费分钟】,【开台卡号】注意【使用标记】在开始时设置为0 ,当有客人时为【-1】。
项目说明:【位号】、【名称】、【最小计费分钟】:如设置为15,客人消费时间20分钟则系统按30分钟计算。
【最低消费分钟】:最低消费分钟:如设成0,则不计最低消费,如最低消费60 客人消费不足60分钟按60分钟计算超过则按时间时间计算。
【开台卡号】:此卡号不能是会员卡,只能是是会员卡中没有此卡号,在营业界面中刷此卡后回车,自动执行开台或结帐操作;【计时或计局】如按时间收费,则设置为0,如果按局收费则设置为1。
一、引言从2001年开始,游戏作为一种产业已经渐渐的为中国大众接受,它所带来的经济效益和社会效益更是人们之前没有估计到的。
目前电子竞技已经成为一个本科专业,游戏开发也是“863计划”中一个重要攻关方向。
从事游戏行业对软件开发的人员来说有着很广阔的前景。
游戏开发相对其他软件开发来说特别复杂,它需要解决图形显示、网络传输、声音处理、I/O控制等问题,这些一般都必须借助游戏开发包(游戏引擎)来实现。
图形技术的解决方案有OpenGL和DirectX,OpenGL是三维图形的API标准,但DirectX除了能解决三维图形问题,而且支持2D图形、音效管理、网络互连、外设控制等,它作为一套完整的游戏开发包而成为事实上的行业标准。
本文分别以一个二维游戏和一个三维游戏的开发过程来论述DirectX在游戏开发中的应用,向人们展示了各种商业游戏开发的基本方法和一般过程。
二、游戏开发所需技术及DirectX简介1.DirectX概述在Windows环境中,程序一般不能直接访问硬件,对硬件功能的利用一般都只能通过能用GDI和MCI等设备接口来实现。
游戏对实时性要求特别高,这使得稍大规模的游戏都无法在Windows GDI环境下运行。
为了解决这个问题,微软公司开发出了DirectX SDK。
这是一些基于COM技术的组件。
在调用DirectX函数或是Method的时候,其实是调用一些DirectX DLL,然后这些DLL再调用显卡厂商所写的驱动程序,也就是说真正驱动硬件的是厂商所写的驱动程序[1],这就使得程序执行效率非常高,并且能极大可能的把硬件的全部功能都发挥起来。
同时,DirectX也具有各种硬件仿真功能,如果调用的功能硬件加速器不支持,DirectX就利用自己的仿真加速器来实现同样的效果。
这样用DirectX编出的游戏不再担心硬件功能不支持的问题了。
DirectX的功能非常强大,它包括以下几个组件:⑴DirectDraw直接操纵显卡,支持图像的移动、拉伸等各种功能⑵DirectSound提供低延时的声音混合系统,支持硬件加速⑶DirectPlay简化游戏使用通讯设备的入口,提供通讯功能的集成和多种通讯协议统一接口功能⑷Direct3D提供三维图形显示的支持⑸DirectInput兼容所有的输入外设,简化游戏控制方法⑹DirectSetup简化游戏安装过程,提供多用户登陆的方法以运行程序⑺DirectMusic支持MIDI音频,支持运行时动态作曲。
台球计费管理系统操作手册v欢迎使用嘉和台球计费管理系统,【系统流程】作如下设置:【台位设置】―>>【台位时段收费标准设置】―>>【系统参数设置】―>>【会员登记】―>>【商品类别设置】.(具体操作参考对应介绍,如果不作会员制可以忽略【会员登记】设置)系统内部设置:在客人结帐时如果打折,只是台位费打折,客人商品消费不打折.会员结帐时,输入会员卡号和会员密码,系统自动按该台位的会员价格进行结帐.系统登录界面:鼠标双击本软件图标,开始使用台球记费管理系统,首先出现系统登录对话框,如图所示:系统登录对话框本系统后可见到六个功能菜单,分别是:一.基础参数设置1.锁定计算机:当管理人员有特殊任务需要暂时离开时,可以点击[锁定]按钮,则可以进入锁定画面,防止此时有人篡改系统信息,如图:锁定画面当要退出锁定画面时,敲键盘[回车]键,输入退出口令:1,点击解除锁定即可回到主界面。
2.换班:当前收款员下班时点击【换班】,显示【登录】窗口,其它收款员重新登录。
3.台位设置:中设置【台位号】,【台位名称】,【最小计费分钟数】,【最低消费计费分钟】,【开台卡号】注意【使用标记】在开始时设置为0 ,当有客人时为【-1】。
项目说明:【位号】、【名称】、【最小计费分钟】:如设置为15,客人消费时间20分钟则系统按30分钟计算。
【最低消费分钟】:最低消费分钟:如设成0,则不计最低消费,如最低消费60 客人消费不足60分钟按60分钟计算超过则按时间时间计算。
【开台卡号】:此卡号不能是会员卡,只能是是会员卡中没有此卡号,在营业界面中刷此卡后回车,自动执行开台或结帐操作;【计时或计局】如按时间收费,则设置为0,如果按局收费则设置为1。
你可以通过【快速设置】设置【最小计费分钟】【最低消费分钟】【计局或计时】。
修改完成后点击相应的【保存设置】,保存修改内容。
4.台位时段收费标准设置:操作系统必须设置项:在[我的电脑]- [控制面板]-中 [区域设置] –[时间] 时间样式HH:mm:ss如果操作系统为win2000或者XP,设置【上午符号:AM】【下午符号:PM】[日期] 短日期样式: yyyy-MM-dd时段收费如 1号 00:00 -12:00 会员6 非会员812:01 – 23:59 会员6 非会员85.计费方案设置:你可以通过【设定计费方案】快速完成【台位计费标准设定】。
桌游计费与管理系统学号:姓名:班级:xxxx年xx月x日程序设计报告目录1需求分析 (3)2 系统结构与功能分析 (3)3系统开发工具与系统运行环境 (4)4系统设计 (4)4.1数据库设计 (4)4.1.1 账号表 (5)4.1.2 餐单表 (5)4.2各功能模块详细设计 (5)4.2.1 Module1.Bas公共标准模块 (6)4.2.2 登录窗体 (6)4.2.3主界面窗体 (8)4.2.4 餐单管理窗体 (22)4.2.5 餐饮购买管理窗体 (26)4.2.6 账号管理窗体 (29)4.2.7 餐单浏览窗体 (32)4.2.8 报表清单窗体 (33)4.2.9 点餐清单窗体 (34)4.2.11 设计器 (35)5结束语 (36)参考文献 (36)桌游计费与管理系统1需求分析桌游越来越受到青睐,很多城市逐渐兴起了桌游,因此桌游店需要现代化的管理手段提高工作效率和服务质量。
因此,一个较实用且简单的桌游计费与管理系统,可供桌游店参考使用。
2 系统结构与功能分析本系统对应的工程为桌游计费与管理系统.vbp,它包含的所有文件如图1所示,该系统的结构如图2所示,该图清晰地表示出各模块间的调用关系。
图12-1 桌游计费与管理系统.vbp工程中的文件程序设计报告图2 系统结构设置本工程的启动对象为登录窗体,该窗体根据用户输入的用户名和密码,判断是否为合法用户。
如果是合法用户,则加载主界面窗体,还可调用主界面窗体启动相应的菜单。
该菜单的功能如下:查看餐单列表管理:设置系统用户和餐单管理系统管理:更换登录用户和退出2项功能3系统开发工具与系统运行环境本系统采用Visual Basic开发工具,数据库管理系统为Access2003数据库。
Visual Basic是近年来发展最快的计算机语言,它具有第四代编程语言的许多新特性,如面向对象的事件驱动机制、可视化图形界面、数据库处理,尤其在数据库开发方面,有其独特的优势,有多种与数据库连接方式。
郑州科技学院C#课程设计院系信息工程学院项目名称台球厅会员管理系统班级10计科2班学号*********姓名张蕴举指导老师王玉萍完成日期2013年6月2号目录第一章引言 (4)1.1 开发背景与现状 (4)1.2 开发设计的意义 (5)1.3 开发工具 (5)1.3.1 Visual 2010简介 (5)第二章系统分析 (8)2.1 可行性分析 (8)2.2系统需求分析 (9)2.3系统功能图 (10)第三章详细设计 (11)3.1 数据库设计 (11)4.1.1 数据库表格设计 (11)3.2 模块设计 (14)3.2.1 管理员模块设计 (14)3.2.1 几个主要模块 (15)第四章编码、实现与测试 (19)4.1 数据库连接 (19)4.2 系统实现 (21)(1) 管理员登录代码 (21)添加会员部分代码 (22)会员消费部分代码 (24)4.3 系统测试 (26)4.3.2 系统的测试环境 (26)第五章设计总结 (27)第六章致谢 (28)第七章参考文献 (29)会员管理系统开发与实现郑州科技学院计算机科学与技术张蕴举(201015073)指导老师:王玉萍摘要:管理信息系统在现代社会已深入到各行各业,由于计算机技术的迅速发展和普及,信息管理系统MIS事实上已成为计算机管理信息系统,台球厅会员管理系统就是一个典型的管理信息系统,它可以让台球厅管理工作变的更轻松。
本C#课程设计的任务就是设计一个台球厅管理系统。
其开发过程主要包括前端应用程序的开发和后台数据库的建立和维护两个方面。
主要任务就是建立基本数据,后台程序主要负责的都是管理上的功能。
经过分析,本系统运用了Microsoft SQL Access 2005为后台数据库,以Visual 2010为前端开发工具,系统实现了系统管理、会员管理、消费管理等必需的功能,其操作简单,界面友好,运行比较稳定,适用于中、小型台球厅会员管理。
关键词:台球厅会员管理系统;数据库管理系统;Visual Studio 2010第一章引言1.1 开发背景与现状随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。
课程设计报告课程名称:计算机实践(1)项目名称:台球厅收费管理系统学院:专业:姓名/学号:班级:实验时间:成绩:指导教师:(一)课题介绍1.1题目:台球厅管理系统1.2设计目标:实现台球厅的数字化管理,规范化管理借入借出,准确定位,实现增删改查。
1.3实验环境:前台使用C++编写,实现工具visual studio 2013 update4。
1.4需求分析:台球厅管理系统:主要涉及台球厅的卡号管理,又可以分为两种情况,会员卡号和普通卡号。
用户管理方面分成操作员和管理员两种。
系统功能模块包括:(1)系统登录模块:根据不同权限将用户角色分为操作人员和管理员,操作人员可以进行系统操作;管理员可以对用户进行管理。
(2)会员卡号模块:记录卡号和用户姓名、身份证号、账户余额、是否续费等信息。
(3)系统管理模块:管理员可以进行系统的管理,包括用户信息的增、删、改、查。
(4)普通卡号模块:记录普通卡号、身份证号、进入和离开时间以及费用等信息。
项目的研究思路是:首先划分为会员卡和普通卡两种。
会员卡的特点是输入用户名、密码便可登陆,可充值会员使用。
普通卡的特点是记录上网时间,按时间先收费。
1.5概念结构设计:一张用户管理表,表名[用户表]一张会员打台球,简称[会员卡]一张普通,简称[普通卡]所有用户共同使用一个主界面,在用户登录的时候确定用户及其权限,当登录的用户没有该项权限时,在界面中这项权限所对应的功能模块不能被点击,这样的设计方便了系统管理和维护。
用户在使用本系统时的工作过程为:进入系统后,会看到登录窗体,对用户的身份进行验证,身份正确则进入本系统,登录到主界面,选择需要的功能进行操作,结束后退出本系统。
如图1.1所示。
图1.1 系统流程分析图管理员操作员 管理员 操作员图1.2 系统功能模块 1.6逻辑结构设计:用户表将涉及以下属性:姓名、密码、新密码、确认密码。
会员卡将涉及以下属性:卡号、用户姓名、身份证号、账户余额、是否续费。
普通卡将涉及以下属性:普通卡号、身份证号、普通卡状态、进入和离开时间以及费用。
(二)数据库的建立、设计及实施台球厅收费管理系统收费管理系统管理系统登陆 会员卡普通卡2.1数据库的建立点击“开始”按钮,在所有程序中找到Microsoft SQL Server,再从弹出的菜单中找到“企业管理器”单击进入。
点击“企业管理器”栏如图1.2 所示的SQL Server 数据库界面,接下来单击“数据库”栏,在数据库中建个库,起名为“taiqiuting”。
2.2数据实体及其关系本数据库中有3个实体,分别如下介绍:实体1:用户:(姓名,密码,用户类别编号,类别名称)本系统的数据库并没有将每类用户分别作为一个实体进行设计,而是将用户作为整个数据库的一个实体,通过用户的属性中的类别编号来判断用户的类别。
用户实体使用[用户表]表示,其中包含四个属性:UID表示姓名、PWD表示密码、Type表示用户类别编号、Exp 表示用户类别名称。
图2.3是实体1用户的E-R图。
实体2:会员客户:(会员卡号,姓名,身份证号,账户余额,缴费状态)本系统主要存储的是持有会员卡客户的信息,因此本系统单设了一个基本信息实体。
基本信息实体使用 ChangQiTable 表示,它包含 5 个属性:ChangQiCardID 表示会员卡号、ChangQiName 表示持有会员卡客户的姓名、ChangQiAddr 表示持有会员卡客户的账户余额、ChangQiCarNum 表示持有会员卡客户的身份证号、ChangQiFee 表示持有会员卡客户的缴费状态。
图2.4是实体2会员客户的E-R 图。
实体3:普通客户:(普通卡号,身份证号,进入时间,离开时间,计时费用,普通卡状态) 本系统主要存储的是持有会员卡客户的信息,基本信息还是本系统的实体。
基本信息实体使用 LinShiTable 表示,它包含 6 个属性:LinShiCardID 表示普通卡号、LinShiCarNum 表示持有普通卡客户的身份证号、InTime 表示持有普通卡车辆的进入时间、OutTime 表示持有普通卡车辆的离开时间、Fee 表示持有普通卡客户的计时交费。
Status 表示普通卡的发放状态。
图2.5是实体3普通借阅的E-R 图。
用户用户类别名称姓名用户类别编号密码图2.3用户E-R 图身份证号账户余额身份证号2.3数据库表的设计本数据库共设计了3张表,表2.1是本数据库的用户表。
这张表介绍了本数据库的用户,包括管理员和操作员。
用户是通过类别编号来区分用户类别的,用户表共有4个字段,分别表示用户姓名、密码、用户类别编号及用户类别名称。
表2.2数据库用户表字段名字段描述是否为主键数据类型长度UID 用户姓名是char 10PWD 密码否char 20Type 类别编号是char 4Exp 类别名称否char 20表身份证号、缴费状态。
表2.3数据库的会员客户表字段名字段描述是否为主键数据类型长度ChangQiCardID会员卡号是char 10ChangQiName会员客户姓名否char 10ChangQiAddr账户余额否char 10ChangQiCarNu身份证号否char 10mChangQiFee缴费状态否char 10表计时交费、普通卡发放状态。
表2.3数据库的普通客户表字段名字段描述是否为主键数据类型长度LinShiCardID普通卡号是char 10LinShiCarNum普通客户姓名否char 10InTime进入时间否char 20OutTime离开时间否char 20Fee 计时缴费否char 10Status普通卡状态否char 1Status3 状态否char 10建立完成如下图所示:数据库的链接:打开管理工具打开ODBC数据源(32位)添加Stopping数据库(三)系统详细设计3.1 用户登录模块设计用户登录模块是本系统的基本功能模块,要与后台数据库紧密相连。
设计步骤为:添加新对话框设置ID号为IDD_DIALOG_Login,并以CDialog为基类创建CLogin类,添加控件、成员变量,完成之后得到如图3.1所示的登录窗口对话框图。
图3.1登录窗口对话框图如果系统登录不成功,就会弹出一个小的对话框,里面会告诉你“密码错误,请重新输入”的字样,如图6.13所示登录失败窗口图如果系统登录成功,就会弹出一个小的对话框,里面会告诉用户,该用户是什么登录身份,如图6.14所示登录成功窗口图,本图以管理员登录成功为例。
从图3.1中可以看到,本模块中添加了四个Edit Box类型的控件,两个用来存放变量,另外两个用来存放变量内容。
本模块添加了两个Button类型的控件,用来设置确定和取消按钮。
表3.1是本模块添加的控件列表。
表3.1用户登录模块控件列表ID 控件类型控件名称变量类型变量名称函数名称IDC_STATIC Edit Box 用户名:IDC_STATIC Edit Box 密码:IDC_EDIT_UName Edit Box CEdit m_usenameIDC_EDIT_Pwd Edit Box CEdit m_pwdID_OK Button 登录OnOK()ID_CANCEL Button 取消OnCancel() 从表3.1中可以看到本模块有两个变量和两个成员函数,两个变量分别是m_usename 和m_pwd;两个成员函数OnOK()和OnCancel()。
先介绍一下创建变量,下面以m_usename为例,找到登录模块,点击鼠标右键出现一个对话框,如图3.2所示图3.1建立变量(1)在弹出的菜单栏中,点击“类向导”,点击“成员变量”栏,然后点击“添加变量”按钮,接下来弹出的窗口为给变量起名字,点击“OK”按钮完成变量的生成,出现如下图3.3所示的窗口图3.3建立变量(2)菜单项的设计:接下来讲解这两个成员函数,它们是用来设计确定和取消按钮。
OnOK()函数设计的是确定按钮,OnCancel()函数设计的是取消按钮,如图5.5是用户登录类CLogin的成员函数和成员变量视图。
图3.4本模块类CLogin成员函数和成员变量视图从图3.4中可以看到本模块在设计控件Button时的两个成员函数OnOK()和OnCancel()。
该模块的设计过程中有两个值得注意的点:其一是该模块中主要有两个变量用户名和密码。
要确保登录成功,用户名和密码一定要正确并且对应,因此判断用户名密码正确与否是该模块设计的关键。
首先在头文件.h中添加需要用到的数据源变量然后利用GetWindowText() 函数获取对话框中输入的用户名和密码信息,传递给username和password两个变量。
利用SQL查询语句strSQL.Format("select * from 用户表where UID='%s' and PWD='%s'",username,password);中数据库的Admin表中进行查询,如果找到相应的记录,则登录成功,取出这个用户相对应的权限Type赋值给m_userLevel变量。
之后就利用该变量的值为0还是1,来区分是操作员还是管理员。
如果SQL查询的结果为0,即m_recordSet.GetRecordCount()==0,则说明该用户名或密码在用户表中找不到,则登录失败。
登录代码的设计如下:void CLogin::OnOk(){// TODO: Add your control notification handler code hereCString username,password;m_username.GetWindowText(username);m_pwd.GetWindowText(password);if(!m_database.IsOpen()){if(m_database.Open(_T("taiqiuting"))){m_recordSet.m_pDatabase=&m_database;CString strSQL;strSQL.Format("select * from Admin where UID='%s' and PWD='%s'",username,password);m_recordSet.Open(CRecordset::forwardOnly,strSQL);if(m_recordSet.GetRecordCount()==0){MessageBox("密码错误,请重新输入","密码错误",MB_OK|MB_ICONWARNING);m_pwd.SetWindowText("");m_pwd.SetFocus();}else{m_recordSet.GetFieldValue("Type",m_userLevel);CDialog::OnOK();}m_recordSet.Close();m_database.Close();}else{MessageBox("不能打开数据库");}}}void CLogin::OnCancel(){// TODO: Add your control notification handler code hereif(MessageBox("真的要退出系统吗?","退出询问",MB_OKCANCEL|MB_ICONQUESTION)==IDOK)CDialog::OnCancel();}其次,利用登录模块中获取的m_userLevel的值,判断该登录用户的类别和权限。