台球厅收费管理系统设计毕业设计论文_第1页
台球厅收费管理系统设计毕业设计论文_第2页
台球厅收费管理系统设计毕业设计论文_第3页
台球厅收费管理系统设计毕业设计论文_第4页
台球厅收费管理系统设计毕业设计论文_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课程设计报告课程名称: 计算机实践(1)项目名称:台球厅收费管理系统学 院:专 业:姓名/学号:班 级:实验时间:成 绩:指导教师:(一)课题介绍1.1题目:台球厅管理系统1.2设计目标:实现台球厅的数字化管理,规范化管理借入借出,准确定位,实现增删改查。1.3实验环境:前台使用 C+编写,实现工具 visual studio 2013 update4。1.4需求分析:台球厅管理系统:主要涉及台球厅的卡号管理,又可以分为两种情况,会员卡号和普通卡 号。用户管理方面分成操作员和管理员两种。系统功能模块包括:(1)系统登录模块:根据不同权限将用户角色分为操作人员和管理员,操作人员可以 进行系统操

2、作;管理员可以对用户进行管理。(2)会员卡号模块:记录卡号和用户姓名、身份证号、账户余额、是否续费等信息。(3)系统管理模块:管理员可以进行系统的管理,包括用户信息的增、删、改、查。(4)普通卡号模块:记录普通卡号、身份证号、进入和离开时间以及费用等信息。项目的研究思路是: 首先划分为会员卡和普通卡两种。会员卡的特点是输入用户名、密码便可登陆,可充值会员使用。普通卡的特点是记录上网时间,按时间先收费。1.5概念结构设计:一张用户管理表,表名用户表 一张会员打台球,简称会员卡 一张普通,简称普通卡所有用户共同使用一个主界面,在用户登录的时候确定用户及其权限,当登录的用户没有该项权限时,在界面中这

3、项权限所对应的功能模块不能被点击,这样的设计方便了系统管理和维护。用户在使用本系统时的工作过程为:进入系统后,会看到登录窗体,对用户的身份进行验证,身份正确则进入本系统,登录到主界面,选择需要的功能进行操作,结束后退出本系统。如图1.1所示。图1.1系统流程分析图台球厅收费管理系统管理员操作员管理员操作员系统登陆系统管理收费管理图1.2系统功能模块1.6逻辑结构设计:用户表将涉及以下属性:姓名、密码、新密码、确认密码。会普会员卡将涉及以下属性:员通卡号、用户姓名、身份证号、账户余额、是否续费。卡卡普通卡将涉及以下属性:普通卡号、身份证号、普通卡状态、进入和离开时间以及费用。(二)数据库的建立、

4、设计及实施2.1数据库的建立Microsoft SQL Server,再从弹岀的菜单中找到企点击“开始”按钮,在所有程序中找到 业管理器”单击进入。i 一I左业菁理朝9蓼塞总CWC)1I展.第黑口涪宇用工具YiciMcFl ZlffiNicdTeft. SQ(L S-k-vk- 4 腹本她*GSQL Stfvtr岂-Pn网寤寧用工层 乡联宓书TAPWIjr T|4 S Li U() *|Offict F 2007llag肓 IDD_ABOUTBOX3 lODDiALOMj_CHisniflcPwO3 IDD_DIALDG_ChBngQii3 IIW_D!lALOGlLIGhiMR皿壮IDD_D

5、IALiOC_LigiinIDD-DIALDGUilnluMunaye 用 D InnH 口 Me nu:H| IOH+ Strin g Table _j Tiuelbr+ J VRKlcn州厂I豪朋ehif出星单霸目EHJD; IO_CliangePi” 标明();r穴樹符回 射出CGI r耳賂动 r己夏远陆r己喪灰的r祜助即提示j Filn ppiniMnn nMaiii4gr 虽口 d nj Mtnu5 IDR-MAIHFRiMF+ _|$lnin T-able+ jTolbr+ J Vers ion用户営題從.卿F音堆卡曽童|1用尸jkd _l Afctelersilor?T)lalo

6、g IDD_ABOUTBOK3 IOO_UIAJL(J(5 CH*igrcPWD3 IDDLDlALOG_ChiTBg;Q i境 IDD_DIAL0G_LinrHM3iiuyc3 lOOLDKOGZLogin予 IDD_DlAL0G_U5i: rlnlaManag上 * _l lcn:-Me-nn |IDR_MWNFFUyWE+Skingi Table_j Slopp IngMAii-DgcSyb resourccfi LJAcctlcfBilor- MiUial-flig3 IDD_AHOUTBOX3 IDn_DlALOG_Cti nnePWID |IDD DIALOG Clihsm肿i a

7、naDDiftLoliiighwiH-iiu i9 !DD_DlALOG_Logln須山D_D1ALOG_U鮭”砒0林“叩 + L_| l4n-Menu3 in口 MJblhJF口EVFIdgb1E卡? GeraeEil | Styiesi | IMnrt 1*1肆 | EYtendedMore Fi |纓:|lDD_DlAL0G_LlnhiiMana9 臭标晅#坤苦.syoUEm:zl字悴尢金 io吃宇陥 I 2$ Pus: |0YPc5: |0接下来讲解这两个成员函数,它们是用来设计确定和取消按钮。 OnOK()函数设计的是确 定按钮,OnCancel()函数设计的是取消按钮,如图5.5是

8、用户登录类CLogin的成员函数和成 员变量视图。E 弋 CLoginCLoginfCWnd pParent = 询 D o DalaiExdhin g c|C0 ala E 陆 OnCancelU询 OnOkQW m dlalabase0 m_pwd拿 m recordSetm_useirLevelp m usemame图3.4本模块类CLogin成员函数和成员变量视图从图3.4中可以看到本模块在设计控件Button时的两个成员函数OnOK()和OnCancel()。该模块的设计过程中有两个值得注意的点:其一是该模块中主要有两个变量用户名和密码。要确保登录成功,用户名和密码一定要正确并且对应

9、,因此判断用户名密码正确与否是该模块设计的关键。首先在头文件.h中添加需要用到的数据源变量CLoqinDlg : public CDialogGetActiveWindow()-GetMenu();if(login.m_userLevel=0)/ 操作员AfxMessageBox( 操作员登录 );pMenu-EnableMenuItem (0,MF_GRAYED|MF_BYPOSITION);/使菜单“用户管理”无效。else if(login.m_userLevel=1)/ 管理员AfxMessageBox( 管理员登录 );pMenu-EnableMenuItem (ID_ChangQi

10、,MF_DISABLED|MF_GRAYED);pMenu-EnableMenuItem (ID_LinShi,MF_DISABLED|MF_GRAYED);pMenu-GetSubMenu(0)-EnableMenuItem(0,MF_ENABLED|MF_BYPOSITION);m_pMainWnd-UpdateWindow();/ The one and only window has been initialized, so show and update it.m_pMainWnd-ShowWindow(SW_SHOW);m_pMainWnd-SetWindowText( 台球厅管理

11、系统 );m_pMainWnd-UpdateWindow();return TRUE;else return FALSE;3.2 系统主界面模块设计本系统的主界面设计步骤为:编辑 “MenU下的“IDR_MAINFRAME ,调整菜单资源,得到如图 3.5 所示的主界面窗口对话框图。劇理母理用户fltt理退岀图3.5主界面窗口对话框图。接下来,该图为系统用户的数据库信息图,如图6.18所示。帯户宿息刊表甲户身悅用户名用户身粉员员员员员 作作作&ft用户帛憲码丄用户砒Alicir123450JerryOD1Z.0Seody1Z345E.0Tom1231zhangsan1234560I1P从图3.

12、20中可以看到,所有的功能都是在主界面中实现的,因此主界面设计了多个控 件及成员函数。表3.2是本模块添加的控件列表表3.2 Menu资源列表ID标题函数名称ID_ChangePwd修改密码OnPassword()ID_ManageUserlnfo用户信息管理OnCreate ()ID_Exit退岀系统I ID_ChangQi会员用户管理OnChangQi()ID_LinShi普通卡管理OnLinShi()ID_HELP帮助3.3用户管理模块设计用户管理模块的设计步骤是:添加新对话框设置ID 号为 IDD_DIALOG_UserlnfoManage ,并以 CDialog 为基类创建 User

13、lnfoManage 类,以 CRecordset 为基类创建 DataRowset类。添加控件、成员变量及函数。完成之后得到如图3.6所示的用户管理窗口对话框图。图3.6用户管理窗口对话框图 从图3.6中可以看到,本模块中添加了三个Static text类型的控件,用来存放成员变量的内容。表3.3是Static text类型的控件列表。表 3.3Static text 控件表ID控件类型控件名称IDC_STATICStatic text用户名IDC_STATICStatic text密码IDC_STATICStatic text用户身份本模块中还添加了5个Button控件和几个其它类型的控件

14、,表3.4是这些控件的控件列表。表3.4其它类型控件表ID控件类型变量类型变量名称函数名称IDC_EDIT_userIDEdit BoxCEditm_userIDOnChangeEDITuserlD()IDC_EDIT_userPwdEdit BoxCEditm_userPwdIDC_COMBO_userTypeComboBoxCComboBoxm_userTypeIDC_LIST_UserlnfoListCtrlCListCtrlmistOnClickLISTListener()IDC_BTN_UserAddButtonCButtonm_bAddOnBTNUserAdd()I IDC_BTN

15、_UserDeleteButtonCButtonm_bDelOnBTNUserDelete()IDC_BTN_UserUpdateButtonCButtonm_bUpdataOnBTNUserUpdata()ID_USER_OKButtonCButtonm_bOKOnBtnOk()IDCANCLEButtonCButtonm_bCancalOnBtnCancel()其中,List控件的“样式”属性中,将“查看”修改为“报告”模式,如下图:用户表吐.Colors用户名M3Kycii-MiedK green m-Di.IS cyan Xbluc用户片阳|1冉叢腔件屋性朋曾常规;樺式更爹样式|护展样

16、式|查看沏;1摇吿r单亍选择国r不舉动啊-排列回:戏竭Tr自动排列僦r段有列标题si厂段有标签按行(hi r不排序标题凹排序阿7Tr舸辑标釜(0)r意是且示选择帼本模块中也添加了一些成员函数和成员变量,如图3.7是用户管理模块的CUserl nfoMa nageDIg类的类视图,图这个类主要是实现用户管理模块中的各个功能。如图3.7表示的是CUserlnfoManageSet类的类视图。这个类的主要功能是设置用户信息。I? CUscrlnloManagrDIC Use rdnf M a naicD I g (CWnd *pPs% D 口a hge|C Db怙 EKChngi% OnDlnCan

17、ccIQl対 OnBlnOkf)冠 OnaTNUser/WdO险 OnBTNUscrDelelcO冠 QnRThlUscrUpdaieQ毎 0 n Cl i ckLISTUsle n r rNMI-l DR pNOnlnltDilalogQ Refresh LislQRcsEtDiuttonOin.hAfMm_bCanc4?l0 m_bDEldcj m_bOK0 m_bUpdalrm dnlhase0 m_fecordSct夕 m urlDm_useirFlwd m userTypc图 3.7 UserlnfoManageDIg 类视图CUserlnfo ManageSetAssertVali

18、dOCUsc rlnfaM a nagcSetlCDar卓 D a Fiel d ExchangeC F iel d EDumpfCDumpCantexi 盘deGeiDefaultConnedOGelOefaultSQLI0 m_ExpmZPWD0 m_Type$ m_UID图 3.8 DataRowset 类视图接下来,介绍下以CRecordset为基类创建 CUserlnfoManageSet类的过程,首先找到用户管理模块,点击鼠标右键出现一个对话框,点击建立类向导”如图3.9所示图3.9 建立DataRowset类过程(1 )图在弹出的窗口中找到“Add Class按钮,再从弹出的菜单

19、栏中选择“New,如图3.91所图 3.91 建立 CUserInfoManageSet 类过程(2)图完成上述操作后,注意在UserlnfoManageDIg.h中添加相应的函数,以及变量,如下所示#if !defined(AFX_USERINFOMANAGEDLG_H_CA082AD8_E557_41FF_AC2D_FF833 8248450_INCLUDED_)#defi ne AFX_USERINFOMANAGEDLG_H_CA082AD8_E557_41FF_AC2D_FF8338248450_INCL UDED_#include UserlnfoManageSet.h#if _MS

20、C_VER 1000#pragma once#endif / _MSC_VER 1000/ UserInfoManageDlg.h : header file/ CUserInfoManageDlg dialogclass CUserInfoManageDlg : public CDialog/ Constructionpublic:CDatabase m_database;BOOL OnInitDialog();void ResetButton();void RefreshList();CUserInfoManageSet m_recordSet; CUserInfoManageDlg(CW

21、nd* pParent = NULL);/ Dialog Data /AFX_DATA(CUserInfoManageDlg) enum IDD = IDD_DIALOG_UserInfoManage ; CButton m_bCancel;CButton m_bOK;CButton m_bUpdate;CButton m_bDelete;CButton m_bAdd;CListCtrl m_list;CComboBox m_userType;CEdit m_userPwd;CEdit m_userID;/AFX_DATA/ Overrides/ ClassWizard generated v

22、irtual function overrides /AFX_VIRTUAL(CUserInfoManageDlg) protected:virtual void DoDataExchange(CDataExchange* pDX); /AFX_VIRTUAL/ Implementationprotected:/ standard constructor/ DDX/DDV support/ Generated message map functions /AFX_MSG(CUserInfoManageDlg) afx_msg void OnBtnCancel(); afx_msg void O

23、nBtnOk();afx_msg void OnBTNUserAdd();afx_msg void OnBTNUserDelete();afx_msg void OnBTNUserUpdate();afx_msg void OnClickLISTListener(NMHDR* pNMHDR, LRESULT* pResult);/AFX_MSGDECLARE_MESSAGE_MAP();/AFX_INSERT_LOCA TION/ Microsoft Visual C+ will insert additional declarations immediately before the pre

24、vious line.#endif/ !defined(AFX_USERINFOMANAGEDLG_H_CA082AD8_E557_41FF_AC2D_FF83382484 50_INCLUDED_)在用户管理对话框运行时,先对数据库进行查询,显示 Admin 表中所有的用户信息, 包括用户 名、 密 码、 权限类别和权限描述。 利用 初 始化 函数 BOOL CUserInfoManageDlg:OnInitDialog() 对 ListControl 控件进行初始的描绘;并通过查询数据 库获得用户信息,显示在 ListControl 控件中。具体实现代码如下:BOOL CUserInfoM

25、anageDlg:OnInitDialog()CDialog:OnInitDialog();m_list.InsertColumn(0, 用户名 );m_list.InsertColumn(1, 密码 );m_list.InsertColumn(2, 用户权限 );m_list.InsertColumn(3, 用户身份 ); / 向 ListControl 控件中添加表头RECT rectList;m_list.GetWindowRect(&rectList);int wid=rectList.right-rectList.left;for(int i=0;i4;i+)m_list.SetCo

26、lumnWidth(i,wid/4); / 计算每一列的宽度,这里采用的均分列宽m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);RefreshList();m_userType.AddString( 管理员 );m_userType.AddString( 操作员 ); /动态给 Combobox 控件添加信息ResetButton();return TRUE;void CUserInfoManageDlg:RefreshList() UpdateData();m_list.DeleteAllItems(); /ListControl 控件中删除旧的数

27、据m_recordSet.Open();m_recordSet.m_strFilter=Type=0 or Type=1;m_recordSet.Requery(); / 重新查询for(int i=0;iGetDlgltem(IDC_EDIT_UName);CEdit*pPassword=(CEdit*)this-GetDlgltem(IDC_EDIT_OldPWD); CEdit*pNew=(CEdit*)this-GetDlgltem(IDC_EDIT_NewPWD);CEdit*pCo nfirm=(CEdit*)this-GetDlgltem(IDC_EDIT_Co nformPWD

28、);CStri ng username,password, newPassword,c on formPassword;pUsername-GetWi ndowText(username);pPassword-GetWi ndowText(password);pNew-GetWi ndowText( newPassword);pCon firm-GetWi ndowText(c on formPassword);CDatabase m_database;CRecordset m_recordSet;if(n ewPassword .I sEmpty()|c on formPassword .I

29、 sEmpty() MessageBox(新密码不能为空”);elseif(n ewPassword!=c on formPassword)MessageBox(两次输入密码不一致,请重新输入新密码);pNew-SetWi ndowText();pCon firm-SetWi ndowText();pNew-SetFocus();elseif(!m_database .I sOpe n()if(m_database.Ope n(_T(taiqiutin g)m_recordSet.m_pDatabase=&m_database;CString strSQL; strSQL.Format(sel

30、ect * 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_ICONW ARNING); pPassword-SetWindowText(); pNew-SetWindowText(); pConfirm-SetWindowText();pPassword-SetFocus();elsem_re

31、cordSet.Close();strSQL.Format(update Admin set PWD=%s where UID=%s,newPassword,username);m_database.ExecuteSQL(strSQL);MessageBox( 修改密码成功! );CDialog:OnOK();m_recordSet.Close(); m_database.Close();else MessageBox( 不能打开数据库 ); CDialog:OnOK();void CChangePWDDlg:OnChangePWDCANCEL()/ TODO: Add your contro

32、l notification handler code here CDialog:OnCancel();3.5 会员用户模块设计会员用户模块设计步骤是:添加新对话框设置 ID 号为 IDD_DIALOG_ChangQi ,并以CDialog 为基类创建 CChangQiDlg 类,以 CRecordset 为基类创建 CChangQiSet 类。添加控 件、成员变量,完成之后得到如图 5.16 所示的基本信息窗口对话框图。3.94会员用户窗口对话框图从图3.94中可以看到,本模块中添加了11个Static text类型的控件,用来存放成员变量的内容。表3.6是Static text类型的控件列

33、表。添加Edit Box控件如表3.7所示,这些控件可以存放变量名称和变量内容,添加butt on控件和ListCtrl控件如表3.8所示,这些控件通过设置函数来完成本模块功能的操作。表 3.6 Static text 控件表ID控件类型控件名称IDC_STATICStatic text会员卡号IDC_STATICStatic text会员用户姓名IDC_STATICStatic text身份证号IDC_STATICStatic text账户余额IDC_STATICStatic text是否缴费表3.7 Edit控件表ID控件类型变量类型变量名称IDC_EDIT_ChangQiCardlDEd

34、it BoxCEditm_changqicardlDIDC_EDIT_ChangQiUserNameEdit BoxCEditm_changqiusernameIDC_EDIT_CarNumEdit BoxCEditm_car numIDC EDIT AddrEdit BoxCEditm addrIDC_EDIT_FeeEdit BoxCEditm_fee表3.8 CListCtrl控件和Button控件表ID控件类型变量类型变量名称函数名称IDC_LIST_ChangQiManageListCtrlCListCtrlm_listOn ChangQiManageIDC_BTN_ChangQiA

35、ddButtonCButtonm_bAddOnBTNChangQiAddIDC_BTN_ChangQiUpdateButtonCButtonm_bUpdateOOnBTNChangQiUpdateIDC_BTN_ChangQiDeleteButtonCButtonm_bDeleteOnBTNChangQiDeleteID_ChangQiCANCELButtonCButtonm_bCancelOnChangQiCANCELID ChangQiOKButtonCButtonm bOKOnChangQiOK如图3.95是会员卡模块CchangQiDIg类的类视图。这个类主要是设计借书模块的各个 功能

36、。CCihaingQiiDlgCWnri *pParciit = Nl 附 DaDataEKhangelCDatiiExchnngf: 附 OnBTNChaiiiigQiAdii)J附 OnBTNChaiiigQiDelt:ie|J| 附 OioBTNChangaiUpdateg 附 OnChangaiCANCELQ 踌 OnChangaiOKiO 附 OniClickLISTChangQ iM a nrage(NM HOunllivillDialngQRefreshListQRcBEllQliiittnnQ p m_addrp m_bAdd p m_bCancelm_bDelElc p m_

37、bOiK涉 m_bUpdatEm_carnmmm_changqicariiilDp m_chairkgqiiiJiseniaimir p m_datahase / m_feE p m_listJh m rrinrrllQ*i,图3.95会员卡模块CChangQiDIg类的类视图如图3.96是用户基本信息模块CChangQiSet类的类视图,这个类主要是用来设置会员卡用户基本信息的内容。;CChangQiSetAsEErtValidQCCha rigQiSetfCDatabase *pDataDuFicldExchangeCFieldExchatiDump(C Dump Context dcj.

38、GetDefaultConnectQGctDcfaultSQI_Om ChangQiAddrm_ChangaiCardlD伞 m_ChangUiCarNum3 m_ChangQiFeei/ m CliangQiName图3.96会员卡用户模块 CChangQiSet类的类视图操作员管理对话框运行时,先对数据库进行查询,显示ChangQiTable表中所有的会员用户信息,包括用户名、会员卡号、车牌号、地址、和缴费状态描述。利用初始化函数BOOLCChangQiDlg:OnlnitDialog()对ListControl控件进行初始的描绘;并通过查询数据库获得用 户信息,显示在 ListControl控件中。会员用户信息的主要函数(On Cha ngQi)代码如下:BOOL C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论