台球厅收费管理系统计算机课程设计.docx

上传人:b****1 文档编号:2102446 上传时间:2022-10-26 格式:DOCX 页数:56 大小:1.27MB
下载 相关 举报
台球厅收费管理系统计算机课程设计.docx_第1页
第1页 / 共56页
台球厅收费管理系统计算机课程设计.docx_第2页
第2页 / 共56页
台球厅收费管理系统计算机课程设计.docx_第3页
第3页 / 共56页
台球厅收费管理系统计算机课程设计.docx_第4页
第4页 / 共56页
台球厅收费管理系统计算机课程设计.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

台球厅收费管理系统计算机课程设计.docx

《台球厅收费管理系统计算机课程设计.docx》由会员分享,可在线阅读,更多相关《台球厅收费管理系统计算机课程设计.docx(56页珍藏版)》请在冰豆网上搜索。

台球厅收费管理系统计算机课程设计.docx

台球厅收费管理系统计算机课程设计

课程设计报告

 

课程名称:

计算机实践

(1)

项目名称:

台球厅收费管理系统

 

学院:

专业:

姓名/学号:

班级:

实验时间:

成绩:

指导教师:

 

(一)课题介绍

1.1题目:

台球厅管理系统

1.2设计目标:

实现台球厅的数字化管理,规范化管理借入借出,准确定位,实现增删改查。

1.3实验环境:

前台使用C++编写,实现工具visualstudio2013update4。

1.4需求分析:

台球厅管理系统:

主要涉及台球厅的卡号管理,又可以分为两种情况,会员卡号和普通卡号。

用户管理方面分成操作员和管理员两种。

系统功能模块包括:

(1)系统登录模块:

根据不同权限将用户角色分为操作人员和管理员,操作人员可以进行系统操作;管理员可以对用户进行管理。

(2)会员卡号模块:

记录卡号和用户姓名、身份证号、账户余额、是否续费等信息。

(3)系统管理模块:

管理员可以进行系统的管理,包括用户信息的增、删、改、查。

(4)普通卡号模块:

记录普通卡号、身份证号、进入和离开时间以及费用等信息。

项目的研究思路是:

首先划分为会员卡和普通卡两种。

会员卡的特点是输入用户名、密码便可登陆,可充值会员使用。

普通卡的特点是记录上网时间,按时间先收费。

1.5概念结构设计:

一张用户管理表,表名[用户表]

一张会员打台球,简称[会员卡]

一张普通,简称[普通卡]

所有用户共同使用一个主界面,在用户登录的时候确定用户及其权限,当登录的用户没有该项权限时,在界面中这项权限所对应的功能模块不能被点击,这样的设计方便了系统管理和维护。

用户在使用本系统时的工作过程为:

进入系统后,会看到登录窗体,对用户的身份进行验证,身份正确则进入本系统,登录到主界面,选择需要的功能进行操作,结束后退出本系统。

如图1.1所示。

图1.1系统流程分析图

管理员

操作员管理员操作员

 

图1.2系统功能模块

1.6逻辑结构设计:

用户表将涉及以下属性:

姓名、密码、新密码、确认密码。

会员卡将涉及以下属性:

卡号、用户姓名、身份证号、账户余额、是否续费。

普通卡将涉及以下属性:

普通卡号、身份证号、普通卡状态、进入和离开时间以及费用。

(二)数据库的建立、设计及实施

2.1数据库的建立

点击“开始”按钮,在所有程序中找到MicrosoftSQLServer,再从弹出的菜单中找到“企

业管理器”单击进入。

点击“企业管理器”栏如图1.2所示的SQLServer数据库界面,接下来单击“数据库”栏,在数据库中建个库,起名为“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数据库表的设计

本数据库共设计了3张表,表2.1是本数据库的用户表。

这张表介绍了本数据库的用户,包括管理员和操作员。

用户是通过类别编号来区分用户类别的,用户表共有4个字段,分别表示用户姓名、密码、用户类别编号及用户类别名称。

表2.2数据库用户表

字段名

字段描述

是否为主键

数据类型

长度

UID

用户姓名

char

10

PWD

密码

char

20

Type

类别编号

char

4

Exp

类别名称

char

20

表2.2是会员客户基本信息表。

包括会员卡号、持有会员卡客户的姓名、家庭住址、身份证号、缴费状态。

表2.3数据库的会员客户表

字段名

字段描述

是否为主键

数据类型

长度

ChangQiCardID

会员卡号

char

10

ChangQiName

会员客户姓名

char

10

ChangQiAddr

账户余额

char

10

ChangQiCarNum

身份证号

char

10

ChangQiFee

缴费状态

char

10

表2.3是是普通客户基本信息表。

包括普通卡号、普通卡姓名、进入时间、离开时间、计时交费、普通卡发放状态。

表2.3数据库的普通客户表

字段名

字段描述

是否为主键

数据类型

长度

LinShiCardID

普通卡号

char

10

LinShiCarNum

普通客户姓名

char

10

InTime

进入时间

char

20

OutTime

离开时间

char

20

Fee

计时缴费

char

10

Status

普通卡状态

char

1

Status3

状态

char

10

建立完成如下图所示:

数据库的链接:

打开管理工具

打开ODBC数据源(32位)

添加Stopping数据库

(三)系统详细设计

3.1用户登录模块设计

用户登录模块是本系统的基本功能模块,要与后台数据库紧密相连。

设计步骤为:

添加新对话框设置ID号为IDD_DIALOG_Login,并以CDialog为基类创建CLogin类,添加控件、成员变量,完成之后得到如图3.1所示的登录窗口对话框图。

图3.1登录窗口对话框图

如果系统登录不成功,就会弹出一个小的对话框,里面会告诉你“密码错误,请重新输入”的字样,如图6.13所示登录失败窗口图

如果系统登录成功,就会弹出一个小的对话框,里面会告诉用户,该用户是什么登录身份,如图6.14所示登录成功窗口图,本图以管理员登录成功为例。

从图3.1中可以看到,本模块中添加了四个EditBox类型的控件,两个用来存放变量,另外两个用来存放变量内容。

本模块添加了两个Button类型的控件,用来设置确定和取消按钮。

表3.1是本模块添加的控件列表。

表3.1用户登录模块控件列表

ID

控件类型

控件名称

变量类型

变量名称

函数名称

IDC_STATIC

EditBox

用户名:

IDC_STATIC

EditBox

密码:

IDC_EDIT_UName

EditBox

CEdit

m_usename

IDC_EDIT_Pwd

EditBox

CEdit

m_pwd

ID_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用户表whereUID='%s'andPWD='%s'",username,password);

中数据库的Admin表中进行查询,如果找到相应的记录,则登录成功,取出这个用户相对应的权限Type赋值给m_userLevel变量。

之后就利用该变量的值为0还是1,来区分是操作员还是管理员。

如果SQL查询的结果为0,即m_recordSet.GetRecordCount()==0,则说明该用户名或密码在用户表中找不到,则登录失败。

登录代码的设计如下:

voidCLogin:

:

OnOk()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

CStringusername,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;

CStringstrSQL;

strSQL.Format("select*fromAdminwhereUID='%s'andPWD='%s'",username,password);

m_recordSet.Open(CRecordset:

:

forwardOnly,strSQL);

if(m_recordSet.GetRecordCount()==0)

{

MessageBox("密码错误,请重新输入","密码错误",MB_OK|MB_ICONWARNING

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1