ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:246KB ,
资源ID:10882775      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10882775.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库系统课程设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库系统课程设计.docx

1、数据库系统课程设计数据库系统课程设计说明书题目: 客房管理系统 院 系: 计算机科学与工程学院 专业班级: 计算机10-*班 学 号: 学生姓名: 指导教师: 2012年 5 月 16 日安徽理工大学课程设计(论文)任务书 计算机科学与工程 学院 学 号学生姓名专业(班级)计10-*设计题目 客房管理系统设计技术参数系统平台:Windows7开发工具:VC+后台数据库:SQL Server 2005应用程序与数据库的连接方式采用ODBC 设计要求主要完成数据库的设计部分,包括需求分析,概念结构设计,逻辑结构设计,物理结构设计,并对关系模式进行分析,最后用自己熟悉的开发工具连接数据库,实现基本的

2、对数据库的操作。工作量课程设计报告要求不少于3000字。源程序要求不少于300行工作计划4月8日- 4月15日 查找相关资料4月16日-4月25日 设计数据库4月26日-5月2日 设计界面5月 3日-5月12日 编写代码5月13日-5月16日 撰写课程设计报告参考资料1 王珊 萨师煊.数据库系统概论.北京:高等教育出版社,20112 温秀梅 丁学钧. Visual C+面向对象程序设计教程与实验. 北京: 清华大 学出版社, 20113 求是科技. Visual C+信息系统开发实例导航.北京:人民邮电出版社,2005指导教师签字教研室主任签字 2012年 5 月 16 日 学生姓名: 学号:

3、 专业班级: 课程设计题目: 客房管理系统 指导教师评语: 成绩: 指导教师: 年 月 日安徽理工大学课程设计(论文)成绩评定表目录1. 基本设计 - 1 -1.1应用背景 - 1 -1.2需求分析 - 1 -1.3数据流 - 2 -1.4核心数据字典 - 3 -2. E-R图设计 - 4 -2.1 局部E-R图 - 4 -2.2 全局E-R图 - 5 -3. 逻辑设计 - 6 -3.1 开发环境 - 6 -3.2 关系模式 - 6 -4. 创建数据库 - 6 -4.1 创建主数据库 - 6 -4.2 创建Check_out表 - 6 -4.3 创建Room表 - 7 -4.4 创建r_cli

4、ent表 - 7 -4.5 创建r_order表 - 7 -5. 界面设计及调试 - 8 -5.1 登陆界面 - 8 -5.2 主界面 - 8 -5.3 查看客房状态 - 9 -5.4 入住登记和房间预订 - 10 -5.5 查看客户信息 - 10 -5.6 退房 - 11 -5.7 负责人密码修改 - 11 -6. 部分程序代码 - 12 -6.1 登陆界面代码 - 12 -6.2 房间信息代码 - 12 -6.3 订房代码 - 13 -6.4 退房代码 - 14 -6.5 修改密码代码 - 16 -7. 总结 - 17 -参考文献 - 17 -1. 基本设计1.1应用背景 应用经济的快速发

5、展,人们生活水平和消费意识的提高,促进了旅游业的发展。酒店行业将面临着机遇和挑战。一直以来人们使用传统的人工方式管理酒店,这种管理方式存在着许多缺点,如:效率低、保密性差且较为烦琐,另外随着客人数量的增加,其工作量也将大大增加,这必然增加客人管理者的工作量和劳动强度,这将给客人管理信息的查找、更新和维护都带来了很多困难。在信息社会中,企业只有利用各种先进的管理方式和技术手段实现信息的高度集成,提高获取信息、分析、利用信息的能力,发展知识经济,才能在激烈的市场竞争中获取优势。随着市场经济的发展,各行各业为加强信息管理,提高经济效益的日益要求,迫切需要把现代化信息处理技术应用到经济管理工作中去。

6、现代化的酒店组织庞大、服务项目多、信息量大,要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。迅速发展起来的酒店行业,为了提高自身的管理水平,加强竞争能力,提高经济效率等,需要动态掌握酒店各个环节中信息的变更,必然离不开计算机的帮助。 酒店管理系统是在对酒店的日长运作进行综合调查的基础上开发出来的一套系统,有利于提高管理效率。本系统完整的描述了一个酒店管理系统的设计与实现过程,以C+为基础,利用VC+6.0,结合SQL Server2005数据库进行,保证了数据处理、数据存取过程中的高效、安全,完成了酒店管理系统的主要模块功能。1.2需

7、求分析本系统的最终用户为宾馆的管理员。根据我们日常生活中的经验,结合对周围宾馆的管理人员的咨询和已经网上的调查,得出用户的下列实际要求:1) 操作员的基本信息每个操作员分配一个自己的用户名和密码用于登录系统,保障系统的安全;2) 客人的基本信息每个入住的客户都需要记录其信息,包括姓名、身份证号、性别;3) 房间信息每个房间包括一个唯一的房间编号,描述其详细信息的房间描叙,已经房间的价格、房间是否已经住人。4) 订单信息每笔订单应该被记录下来便于以后的查询,所以订单号包括唯一识别其信息的订单号,以及记录客人的姓名、身份证号、房间类型、房间编号、客人入住时间、入住天数、押金、操作员。5) 退房信息

8、 每个客人退房后都应该记录其退房情况,每个退房记录有系统为其分配唯一的记录号。还包括客人的姓名、身份证号、客人退房的房间号、退房的时间、找零情况。1.3数据流1) 核心数据流图2) 部分数据流表 1. 宾馆客房管理系统的数据流客人信息表数据流名称:客人信息来源:客人去向:入住登记包含的数据项:姓名、身份证号、性别、入住房间、房间类型、房间价格等 2. 宾馆客房管理系统的数据流入住登记表数据流名称:入住登记来源:客人产生入住登记去向:入住包含的数据项:订单编号、姓名、性别、身份证号、客房类型、抵房时间、住几天、操作员 3. 宾馆客房管理系统的数据流客房信息表数据流名称:客房信息来源:客人产生入住

9、登记去向:入住包含的数据项:客房编号、客房类型、客房价格、客房状态、客房的描述 4. 宾馆客房管理系统的数据流房间状态表数据流名称:房间状态来源:退房去向:房间包含的数据项:客房号码、房间状态 5. 宾馆客房管理系统的数据流退房信息数据流名称:退房信息来源:退房去向:退房记录表包含的数据项:帐单编号、姓名、身份证号、房间编号、退房时间、找零情况1.4核心数据字典宾客入住信息表:r_Client 数据项名称(库中字段名)数据类型及长度说明客人姓名(name)Char(10)Not null客人性别(sex)Char(2)Not null客人身份证号(id)Char(10)Not null,pri

10、mary key房间信息表:Room 数据项名称(库中字段名)数据类型及长度说明房间编号(Rid)Char(4)Not null ,primary key房间名称(Rname)Char(10)Not null房间描述(Rdescribe)Char(100)Not null房间价格(Rprice)intNot null房间状态(Rstatue)Char(4)Not null负责人(Ruser)Char(10)Not null管理员表:r_user数据项名称(库中字段名)数据类型及长度说明用户(ruser)Char(10)Not null ,primary key密码(pwd)Char(10)No

11、t null入住登记表:r_order数据项名称(库中字段名)数据类型及长度说明订单编号 (Jkey)Char(4)Not null ,primary key姓名(name)Char(10)Not null身份证号(id)Char(10)Not null房间类型(Rname)Char(10)Not null房间编号(Rid)Char(4)Not null入住时间(Datatime)dateNot null入住天数(Day)intNot null押金(money)Int Not null操作员(Ruser)Char(10)Not null退房记录表:Check_out数据项名称(库中字段名)数据

12、类型及长度说明账单编号(Tno)Char(4)Not null ,primary key姓名(name)Char(10)Not null 身份证号(id)Char(10)Not null房间编号(Rid)Char(4)Not null退房时间(TDatatime)dataNot null找零(smoney)intNot null2. E-R图设计2.1 局部E-R图2.2 全局E-R图3. 逻辑设计3.1 开发环境开发语言: C+开发工具:Microsoft Visual C+ 6.0 SQL Server 20053.2 关系模式r_Client(name,sex,id);Check_out

13、(Tno,name,id,Rid,smoney,TDatatime);Room(Rid,Rname,Rdesecribe,Rprice,Rstatus,Ruser);r_Order(Jkey,name,id,Rname,Rid,Datatime,Day,money,Ruser);4. 创建数据库4.1 创建主数据库CREATE DATABASE kefang ON PRIMARY ( NAME = Nkefang, FILENAME = NC:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAkefang.mdf , SIZE = 3072KB

14、, MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = Nkefang_log, FILENAME = NC:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAkefang_log.ldf , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) COLLATE Chinese_PRC_CI_AS4.2 创建Check_out表CREATE TABLE Check_out( Tno char(4) primary key, nam

15、e char(10) NOT NULL, id char(10) NOT NULL, Rid char(4) NOT NULL, Smoney int NOT NULL, Tdatatime datetime NOT NULL,foreign key(id) references r_client(id),foreign key(Rid) references Room(Rid)4.3 创建Room表CREATE TABLE Room( Rid char(4) primary key, Rname char(10) NOT NULL, Rdesecribe nvarchar(50) S NUL

16、L, Rprice int NULL, Rstatus nchar(10) NULL, Ruser char(10) NULL)4.4 创建r_client表CREATE TABLE r_client( Name char(10) NOT NULL, Sex char(2) NOT NULL, id char(10) primary key)4.5 创建r_order表CREATE TABLE r_order( Jkey char(4) primary key, name char(10) NOT NULL, id char(10) NOT NULL, Rname char(10) NOT N

17、ULL, Rid char(4) NOT NULL, Datatime datetime NOT NULL, Day int NOT NULL, money int NOT NULL,Ruser char(10) NOT NULL,Foreign key(id)references r_client(id),Foreign key(Rid)references Room(Rid)5. 界面设计及调试5.1 登陆界面进入登陆界面后,系统会自动连接数据库,等待用户输入用户名和密码,若输入正确则进行下一步操作,若连续三次输入的用户名和密码不匹配则系统会自动关闭对话框以保证数据库的安全性。登录界面如下

18、图1:图 15.2 主界面当用户名和密码输入正确后就进入了主界面,如下图2所示:图 25.3 查看客房状态在主面板上的快速入口上点击房间信息,在列表框内会显示全部房间的信息,以及可以添加删除房间信息;如图3所示:图 35.4 入住登记和房间预订点订房按钮,系统自动在Room表中Rstatue=空的房间名字添加到定房对话框列表框中,供客户选择房间,用户可以查看房间的详细信息。操作员输入好用户的登记信息后点击确定按钮就可以录入房间信息但当用户输入数据破坏完整性时,系统会发出警告,以保持数据库的完整性,界面如图4所示:图 45.5 查看客户信息当需要查看用户信息我们可以调用用户信息对话框查询信息,但

19、为了安全性考虑需要同时输入用户的姓名和身份证号才能查看。界面如图5所示:图 55.6 退房通过退房按钮入口可以打开退房对话框。当客户需要退房时,点退房按钮后,系统会弹出一个对话框,当用户提供其姓名和身份证号或者其房间号,操作员可以查出其房间的信息。选择目标房间后,系统自动加载房间信息。操作员点击退房后,系统修改数据库:原房间状态改为空,并自动读取订单的信息计算消费金额结算找零,并将退房信息自动录入到check_out表中。界面设计如图6所示:图 65.7 负责人密码修改为了数据库的安全,需要负责人每隔一段时间修改一次登录密码,其中界面如图7所示:图 76. 部分程序代码6.1 登陆界面代码CD

20、atabase m_database; Cdengluset*m_recordset=new Cdengluset(&m_database); CString str; str.Format(select *from r_user where ruser=%s and pwd=%s,m_user,m_password); m_recordset-Open(AFX_DB_USE_DEFAULT_TYPE,str);/打开数据库 if(m_recordset-GetRecordCount()=0) 查看数据库中是否有符合条件的记录 if(count3) MessageBox(请确认您的用户名和密码

21、是否匹配!); count+; else当输入错的次数超过超过三次时则会关闭登录对话框 MessageBox(您输入的错误次数太多,请稍后再试!); m_database.Close(); CDialog:OnOK(); else m_database.Close(); CmainDlg maindlg; CDialog:OnOK(); maindlg.DoModal(); 6.2 房间信息代码UpdateData(TRUE); if(m_fuzeren=|m_fangjianhao=|m_leixing=) MessageBox(填充的信息必须完整否则无法进行插入!,提示,MB_ICONEX

22、CLAMATION); return; else CDatabase database; Croomset m_Roomset(&database); CString str; str.Format(select* from Room ); m_Roomset.Open(AFX_DB_USE_DEFAULT_TYPE,str); if(m_leixing=单人间) str.Format(insert into Room values(%s,%s, 一间面积为1620平方米的房间,内有卫生间和其他附属设备组成。房内设一张单人床。,100,空,%s),m_fangjianhao,m_leixing

23、,m_fuzeren); if(m_leixing=标准间) str.Format(insert into Room values(%s,%s, 房内设两张单人床或一张双人床的叫标准间,这样的房间适合住两位客人或夫妻同住,适合旅游团体使用。,150,空,%s),m_fangjianhao,m_leixing,m_fuzeren); if(m_leixing=豪华间) str.Format(insert into Room values(%s,%s, 房内设两张单人床或一张双人床,房间的装修,房内设施比标准间档次高,其价格也比标准间高。,200,空,%s),m_fangjianhao,m_lei

24、xing,m_fuzeren); database.ExecuteSQL(str); database.Close(); Croomset m_Roomset1(&database); m_Room.DeleteAllItems(); int i = 0 ; str.Format(select* from Room); m_Roomset1.Open(AFX_DB_USE_DEFAULT_TYPE,str);6.3 订房代码CString str=,st; int nId;Cr_clientset m_clientset(&database); str.Format(select* from

25、r_Client); m_clientset.Open(AFX_DB_USE_DEFAULT_TYPE,str); str.Format(insert into r_Client values(%s,%s,%s),m_name,m_sex,m_id); database.ExecuteSQL(str); database.Close(); POSITION pos=m_dingfang.GetFirstSelectedItemPosition(); if(pos=NULL) MessageBox(请先选择房间!,提示,MB_ICONEXCLAMATION); return; if(m_Day=

26、|m_id=|m_key=|m_money=0|m_name=) MessageBox(信息需填满,提示,MB_ICONEXCLAMATION); return; if(pos!=NULL&m_Day!=&m_id!=&m_key!=&m_money!=0&m_name!=) nId=(int)m_dingfang.GetNextSelectedItem(pos); Corderset m_orderset(&database); str.Format(select* from r_order where Jkey=%s,m_key); m_orderset.Open(AFX_DB_USE_D

27、EFAULT_TYPE,str); if(m_orderset.GetRecordCount()=0) CTime Now=CTime:GetCurrentTime(); st=Now.Format(%Y-%m-%d %H:%M:%S);str.Format(insert into r_order values(%s,%s,%s,%s,%s,%s,%s,%d,%s),m_key,m_name,m_id,m_dingfang.GetItemText(nId,1),m_dingfang.GetItemText(nId,0),st,m_Day,m_money,m_dingfang.GetItemTe

28、xt(nId,5); database.ExecuteSQL(str); database.Close();Croomset m_Roomset(&database); str.Format(select* from room); m_Roomset.Open(AFX_DB_USE_DEFAULT_TYPE,str); str.Format(update Room set Rstatus=满 where Rid=%s,m_dingfang.GetItemText(nId,0); database.ExecuteSQL(str); database.Close(); m_dingfang.DeleteAllItems(); MessageBox(订房成功!);6.4 退房代码CDatabase database,database1; CString str,st,st1,st2; int nId,i=0,j; POSITION pos=m_tuifang.GetFirstSelectedItemPosition(); if(pos=NULL) MessageBox(请先选择!,提示,MB_ICONEXCLAMATION); return; nId=(int)m_tuifang.GetNextSelected

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

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