客房管理概述_第1页
客房管理概述_第2页
客房管理概述_第3页
客房管理概述_第4页
客房管理概述_第5页
已阅读5页,还剩52页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、 成绩: _ 课程设计(数据结构)学生姓名: 张 宇 星 学 号: 20141308055 院 系: 计算机与软件学院 专 业: 计算机科学与技术 指导教师: 顾 伟 二零一六 年 六 月十八日目 录内容摘要.1一、前言.2二、需求分析.2 2.1、功能分析.22. 2、方案分析.2三、概要设计.2 3.1数据结构.26 3.2功能模块划分.26 3.2.1结构框图.26 3.2.2程序流图.26 四、系统的详细设计. 32 4.1用户登录模块.32 4.2经理登录界面.334.2.1客房管理.33 4.2.2 员工管理.33 4.2.3 退出系统. .35 4.3员工登录界面.33 4.3.

2、1客房查询.1 4.3.2客户入住.1 4.3.3客房结算.1 4.4.4修改密码.1 4.4.5退出系统.1 4.4部分核心代码附录.1 五、总结.36参考文献.39 客房信息管理系统 张宇星南京信息工程大学计算机与软件系摘要:本文论述到了客房管理系统开发的背景、目标、意义和方法、并重点介绍了系统分析、数据库设计、系统概要设计、程序设计的全过程。本文所设计的系统是由Visual Studio2010和S ql server2008数据库开发而成的。该系统较完整的完成了酒店客房管理的各种功能,它包括前台服务和后台管理两大功能模块。在实现了不同权限用户登陆,用户的注册、查询,

3、客房信息的维护,客房类型的设置及个人密码的修改,酒店房务的管理,收费等基本功能的同时,还对酒店的营业状况进行有条件的查询,为酒店高层决策提供数据支持。酒店管理者只需略懂电脑知识就可以建议的操作该酒店管理系统。使用酒店管理系统进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、储蓄量大、寿命长、成本低等。 关键字:Visual Studio 2010 管理 数据库1、 前言 在信息高度发达的今天,酒店业务涉及的各个工作环节已不再仅仅是传统的住宿、结算业务,而是更广、更全面的服务性行业代表。酒店宾馆作为一个服务性行业,从客房的营销即客人的预定开始,到入住登记直到最后退房结账

4、,整个过程应该能够体现以宾客为中心,提供快捷方便服务,给宾客感受一种顾客至上的享受,提高管理水平,简化各种复杂操作,在最短时间内完成酒店业务规范操作,这样才能令旅客舒适难忘。因此,采用全新的计算机管理系统,将成为提高酒店的管理效率,改善服务水准的手段之一。系统从满足客户的需求角度出发,实现了酒店管理的基本流程。系统的主要功能包括宾客结帐、客房预订、营业查询、客户管理、系统设置等等。用户入住酒店的时候所要等待的时间就会大大的减少,操作员能够很方便的对用户信息的登记和对房间状态的的管理,从而实现了酒店管理系统高效、准确的特点现代化的酒店,提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进

5、行现代化的信息管理。酒店管理系统正是为此而设计的。优秀的酒店客房管理系统操作方便,灵活性好,系统安全性高,运行稳定。提供快捷方便服务,给宾客感受一种顾客至上的享受,提高管理水平,简化各种复杂操作,在最短时间内完成酒店业务操作,这样才能令旅客舒适难忘。2、 需求分析2.1功能分析经过综合分析,确定了系统应该包含如下功能:客房信息管理:用户可对酒店的客房信息进行管理,包括对客房的基本信息(如客房编号、客房价格、客房类型及客房状态等)的增加、修改、删除和更新。客房订房管理:实现客户对酒店房间预订及入住的功能,客户未到达酒店之前可通过电话预订客房,用户可按客户的需求为客户找到合适的房间并进行记录,客户

6、到达酒店后可直接在房间状态为空的客房里选择一间合适的房间入住,同时用户将客人信息及选择的房间信息添加到相应的表里。客房结算管理:当客户入住时间达到登记退房时间时可选择结算金额与续费两种方式,用户根据客户的选择修改相应登记表的内容并更新房间状态。客户信息管理:对入住酒店的客户进行信息登记,包括客户的姓名、联系方式、证件号码等个人信息,方便对客户进行管理。2.2方案分析该系统的用户一共有两类:经理和员工。经理可以对客房和员工进行管理,可以增加客房的信息和员工的信息,也可以增加系统的管理员。员工可以对客户入住信息进行管理,包括客户选择房间、客户结算和续费,还可以查看房间的状态和基本信息。客房管理系统

7、将对这两种不同的用户设置权限,每种用户只能实现自己的功能,不能相互使用。使用该系统时用户需要登录,登录的时候需要验证身份和用户名还有密码,如果三项不匹配则登录失败。三、概要设计3.1数据结构该系统数据库的各表及数据项和数据类型说明:管理员信息表:记录登入系统的用户的身份、用户名和密码,如下表所示:数据项名称 类型 长度 主键 允许空值用户身份 char 20用户名 char 10密码 varchar 50客房信息记录表:记录酒店所有客房的基本信息数据项名称 类型 长度 主键 允许空值房间号 char 10 房间类型 char 10 房间价格 char 10 房间楼层 int 额定人数 int

8、实际人数 int 房间状态 char 10 备注 text 客人入住记录表:记录客户的入住信息,包括房间号,房间类型,入时间、退房时间及客户的个人信息等:数据项名称 类型 长度 主键 允许空值客人姓名 char 20 客房编号 char 10 入住时间 datetime 退房时间 datetime 结算金额 money 证件号码 varchar 50 入住人数 int 备注 text 客人信息表:记录入住客户的基本信息,包括姓名、性别、证件号、地址及联系方式数据项名称 类型 长度 主键 允许空值客人姓名 char 10性别 char 10联系方式 varchar 10证件号码 varchar

9、10 员工信息表:记录酒店在职员工的基本信息,包括员工编号、员工姓名、员工职务、联系方式及住址等。数据项名称 类型 长度 主键 允许空值员工编号 char 10 员工姓名 char 10 性别 char 2 联系方式 varchar 50 所在省市 char 10 职务 char 10 客户姓名客户E-R图:性别证件号联系方式客户员工E-R图:员工姓名员工编号性别联系方式员工职务所在省市客房E-R图:客房类型客房价格客房楼层客房客房编号客房状态额定人数 入住记录E-R图:入住时间退房时间结算金额入住记录用户名管理员E-R图:用户身份密码管理员整体E-R图:结算金额客房编号客户姓名性别客房类型客

10、房价格联系方式客户入住客房楼层客房 1 n证件号额定人数 n 客房状态管理管理员工编号员工姓名职务 1属于管理员员工身份联系方式密码用户名住址3.2功能模块划分3.2.1结构框图客房管理系统员工经理退出系统修改密码客户结算客户入住客房查询退出系统修改密码员工管理客房管理各功能模块介绍:客房管理:用户可对酒店的客房信息进行管理,包括对客房的基本信息(如客房编号、客房价格、客房类型及客房状态等)的增加、修改、删除和更新。员工管理:可以增加、删除、修改员工的基本信息,并可以将员工设为管理员。还可以查询员工的基本信息。修改密码:可以对管理员的密码进行修改。退出系统:直接结束本次系统的登录。客房查询:可

11、以对所有的客房信息进行查询,按照不同的查询条件。客户入住:当有人入住的时候登记客户的信息及更新房间的信息。客户结算:当客户的住宿日期到了登记的退房日期时客户可以有两种选择:结账和续费。3.2.2程序流程图开始选择身份输入用户名和密码选择功能执行功能退出系统结束4、 系统的详细设计4.1用户登录界面功能说明:当用户打开该系统的时候首先出现的是这个界面,用户根据自己的身份选择经理或者员工,再输入自己的用户名和密码,当三项都填写正确的时候就会成功登录该系统,跳转到相应的功能界面。如果三项中有一项没有填写正确则会出现错误提示。如下图:4.2经理登录界面功能说明:当用户身份为经理并且信息填写正确后登录系

12、统就会跳出该界面,该界面有四个功能菜单按钮,分别为客房管理、员工管理、退出系统和修改密码。分别点击不同菜单项会出现相应的功能界面。4.2.1客房管理该页面可实现对客房信息的查找、增加、修改和删除的功能。分别点击不同的按钮会跳出相应的功能界面,当点击查找按钮时跳出如下界面:管理员可以按不同的条件进行客房信息的查询,当选择按楼层查找时在房间信息后的文本框里输入要查找的楼层数,下图是按照楼层查询:按照房间号查询:按客房类型查询:当点击“增加”按钮时跳出如下界面:输入新增的房间信息点击确定按钮就会在数据库中相应的表上加入一行,并显示在下面的地方:当点击“重置”按钮时所有的文本框会清零,方便管理员输入下

13、一条客房信息:点击“修改”按钮时会跳出如下界面:先把要修改的房间信息填写到相应的文本框内点击“查看原信息”按钮就会将当前的房间信息显示在下面的控件框里,如图:然后再下面的文本框里输入修改后的信息,点击“修改信息”按钮就会更新数据库里的信息并显示在下面的控件框里,如图所示:当点击”删除“按钮时会跳出如下界面:输入要删除的房间信息点击“查看”按钮会将当前房间信息显示在下面的控件框里,如图所示:点击确定按钮就会将该房间信息从数据库的表里删除掉,如图所示:4.2.2员工管理在左边的文本框里输入要查找的员工编号和职务相应的员工信息就会显示在上面的控件框里,如图所示:右边是对员工信息的管理界面,可以增加、

14、删除和修改员工的相关信息,还可以将员工设为该系统的管理员。删除信息,如图所示:如果员工信息有变可以修改员工的信息:当点击“设为管理员”按钮时会跳出另一个页面,如图所示:输入要设为管理员的员工姓名和密码以及职位,点击”确定“按钮在数据库的相应表里会增加记录并显示在下面的控件框里,如图所示:点击“修改密码”菜单项跳出相应的功能界面,如图所示:输入要修改的用户名和他的原始密码以及新密码,点击“确定”按钮数据里的相关表就会更新记录,并显示在下面的控件框里,如图所示:点击“重置”按钮文本框会清空,方便用户下一次输入,如图所示:4.3员工登录界面4.3.1客房查询点击“客房查询”菜单项会跳出如下界面:输入

15、不同的查询条件会显示相应的查询结果,如图所示:按房间号查询:按房间类型查询:按房间楼层查询:按额定人数查询:按房间价格查询:还可以按照房间状态查询,方便客户快速知道哪些房间可以入住:如图所示:有新的客户入住酒店时要登记信息,界面如下:当客户到达记录表上的退房时间时有两种选择方式,结账或者续费,点击“客户结算”菜单项会出现如下界面:查询当前客户的状态:根据查出的房间信息将时间和房间价格填到右边的文本框里然后再点击结算,就会在应付金额的文本框里显示应付金额并更新数据库里的相关信息。修改密码与用户身份为经理的界面相同,这里不再赘述。4.5部分核心代码附录private void queding_Cl

16、ick(object sender, EventArgs e)string mystr;string shenfen1,shenfen2;shenfen1 = "经理”;shenfen2 = "前台”;SqlConnection conn = new SqlConnection();mystr = "server=localhost;Initial Catalog=JDGL;User ID=sa;Password=123456"conn.ConnectionString = mystr;conn.Open();/连接到数据库SqlCommand comm

17、 = new SqlCommand();/创建¨SqlCommand对象comm.Connection = conn;/以上代码连接并打开数据库comm.CommandText = "select * from 管理员信息表 where 用户名?='" + yonghuming.Text + "'"/根据登录界面输入的信息去查询数据库内容SqlDataReader dr;dr = comm.ExecuteReader(); /执行链接if (dr.Read() = true)if (dr"密ü码?"

18、.ToString() = mima.Text )/密码正确进入以下判断name = yonghuming.Text; /将登录用户名暂赋全局变量nameif (jingli.Checked && dr"用户身份".ToString() = shenfen1) / 经理用户跳转this.DialogResult = DialogResult.OK; /返回一个登录成功的对话框状态this.Close(); /关闭登窗口else if (yuangong.Checked && dr"用?户§身?份".ToStrin

19、g() = shenfen2)/员工用户跳转this.DialogResult = DialogResult.No; /返回一个登录成功的对话框状态this.Close(); /关闭登录窗口elseMessageBox.Show("登录失败");else /登录角色或密码错误报错MessageBox.Show("登录名错误或密码错误!");else /无法从数据库中调到用户资料,说明无此用户报错MessageBox.Show("无此用户!");private void tuichu_Click(object sender, Event

20、Args e)Application.Exit();private void 住宿管理ToolStripMenuItem_Click(object sender, EventArgs e)groupBox1.Show();string mysql;mysql = "server=localhost;Initial Catalog=JDGL;User ID=sa;Password=123456"conn.ConnectionString = mysql;conn.Open();private void quanbu_Click(object sender, EventArgs

21、 e)dataGridView1.Show();string mysql;if (fangjianhao.Text != "")mysql = "select * from 客房记录表 where 房间号='" + fangjianhao.Text + "'"DataSet myds = new DataSet();SqlDataAdapter myda = new SqlDataAdapter(mysql, conn);myda.Fill(myds, "客房记录表");dataGridView1.

22、DataSource = myds.Tables"客房记录表"if (comboBox1.Text != "")mysql = "select * from 客房记录表 where 房间类型='" + comboBox1.Text + "'"DataSet myds = new DataSet();SqlDataAdapter myda = new SqlDataAdapter(mysql, conn);myda.Fill(myds, "客房记录表");dataGridView1

23、.DataSource = myds.Tables"客房记录表"if (fangjianlouceng.Text != "")mysql = "select * from 客房记录表 where 房间楼层='" + fangjianlouceng.Text + "'"DataSet myds = new DataSet();SqlDataAdapter myda = new SqlDataAdapter(mysql, conn);myda.Fill(myds, "客房记录表");

24、dataGridView1.DataSource = myds.Tables"客房记录表"if(edingrenshu .Text !="")mysql = "select * from 客房记录表 where 额定人数='" + edingrenshu.Text + "'"DataSet myds = new DataSet();SqlDataAdapter myda = new SqlDataAdapter(mysql, conn);myda.Fill(myds, "客房记录表&quo

25、t;);dataGridView1.DataSource = myds.Tables"客房记录表"if (fangjianjiage.Text != "")mysql = "select * from 客房记录表 where 房间价格='" + fangjianjiage.Text + "'"DataSet myds = new DataSet();SqlDataAdapter myda = new SqlDataAdapter(mysql, conn);myda.Fill(myds, "

26、客房记录表");dataGridView1.DataSource = myds.Tables"客房记录表"private void kongfang_Click(object sender, EventArgs e)dataGridView1.Show();string mysql;mysql = "select * from 客房记录表 where 房间状态='空房'"DataSet myds = new DataSet();SqlDataAdapter myda = new SqlDataAdapter(mysql, con

27、n);myda.Fill(myds, "客房记录表");dataGridView1.DataSource = myds.Tables"客房记录表"private void weiman_Click(object sender, EventArgs e)dataGridView1.Show();string mysql;mysql = "select a.* from 客房记录表 a,客人入住记录表 b where a.房间状态='未满' AND a.房间号=b.客房编号"SqlDataAdapter myda = ne

28、w SqlDataAdapter(mysql, conn);DataSet myds = new DataSet();myda.Fill(myds, "客房记录表,客人入住记录表");dataGridView1.DataSource = myds.Tables"客房记录表,客人入住记录表"private void qingkong_Click(object sender, EventArgs e)fangjianhao.Text = ""fangjianjiage.Text = ""fangjianlouceng.

29、Text = ""edingrenshu.Text = ""comboBox1.Text = ""private void 客房管理ToolStripMenuItem_Click(object sender, EventArgs e)/this.Close();kerenruzhu f = new kerenruzhu();f.ShowDialog();private void 挂账管理ToolStripMenuItem_Click(object sender, EventArgs e)private void 系统设置ToolStr

30、ipMenuItem_Click(object sender, EventArgs e)Application.Exit();private void 查询统计ToolStripMenuItem_Click(object sender, EventArgs e)客户结算 f = new 客户结算();f.ShowDialog();private void 日结ToolStripMenuItem_Click(object sender, EventArgs e)修改密码 f = new 修改密码();f.ShowDialog();private void 返回ToolStripMenuItem_

31、Click(object sender, EventArgs e)用户登录 f = new 用户登录();f.ShowDialog();/this.Close();public partial class 客户结算 : FormSqlCommand mycd = new SqlCommand();SqlConnection conn = new SqlConnection("server=localhost;Initial Catalog=JDGL;User ID=sa;Password=123456");public 客户结算()InitializeComponent()

32、;private void button1_Click(object sender, EventArgs e)conn.Open();dataGridView1.Show();string mysql;mysql = "select a.客人姓名,a.客房编号,a.入住时间,a.退房时间,a.结算金额,b.房间状态,b.房间价格 from 客人入住记录表 a,客房记录表 b where 客房编号='" + textBox2.Text + "'AND 客人姓名='" + textBox1.Text + "'AND

33、a.客房编号=b.房间号"DataSet myds = new DataSet();SqlDataAdapter myda = new SqlDataAdapter(mysql, conn);myda.Fill(myds, "客人入住记录表,客房记录表");dataGridView1.DataSource = myds.Tables"客人入住记录表,客房记录表"conn.Close();private void button2_Click(object sender, EventArgs e)conn.Open();dataGridView1.

34、Show();string mysql, mysql2;DateTime ru = DateTime.Parse(ruzhushijian.Text);DateTime tui = DateTime.Parse(tuifangshijian.Text);TimeSpan ts = tui.Subtract(ru).Duration();int price = Convert.ToInt32(fangjianjiage.Text);if (fangjianjiage.Text = "")MessageBox.Show ("请输入房间价格!");yingfu

35、jine.Text = (price* ts.Days).ToString();mysql = "update 客人入住记录表 set 结算金额='" + yingfujine.Text + "' where 客房编号='" + textBox2.Text + "'AND 客人姓名='"+textBox1 .Text +"'"mysql2 = "update 客房记录表 set 房间状态='空房' where 客房编号='"

36、 + textBox2.Text + "'"SqlCommand mycd1 = new SqlCommand(mysql, conn);SqlCommand mycd2 = new SqlCommand(mysql2, conn);mycd1.ExecuteNonQuery();MessageBox.Show("修改数据成功!");string mysql1 = "select a.客人姓名,a.客房编号,a.入住时间,a.退房时间,a.结算金额,b.房间状态 from 客人入住记录表 a,客房记录表 b where 客房编号=

37、9;" + textBox2.Text + "'AND 客人姓名='"+textBox1 .Text +"'AND a.客房编号=b.房间号"SqlDataAdapter myda = new SqlDataAdapter(mysql1, conn);DataSet myds = new DataSet();myda.Fill(myds, "客人入住记录表,客房记录表");dataGridView1.DataSource = myds.Tables"客人入住记录表,客房记录表"co

38、nn.Close();private void button3_Click(object sender, EventArgs e)conn.Open();dataGridView1.Show();string mysql;mysql = "update 客人入住记录表 set 退房时间='" + Convert.ToDateTime (tuifangshijian.Text) + "' where 客房编号='" + textBox2.Text + "' AND 客人姓名='"+textBox1

39、 .Text +"'"SqlCommand mycd1 = new SqlCommand(mysql, conn);mycd1.ExecuteNonQuery();MessageBox.Show("修改数据成功!");string mysql1 = "select a.客人姓名,a.客房编号,a.入住时间,a.退房时间,a.结算金额,b.房间状态 from 客人入住记录表 a,客房记录表 b where 客房编号='" + textBox2.Text + "' AND 客人姓名='"

40、+textBox1 .Text +"'"SqlDataAdapter myda = new SqlDataAdapter(mysql1, conn);DataSet myds = new DataSet();myda.Fill(myds, "客人入住记录表,客房记录表");dataGridView1.DataSource = myds.Tables"客人入住记录表"conn.Close();private void button1_Click(object sender, EventArgs e) conn.Open(); i

41、f (radioButton1.Checked) dataGridView1.Show(); string mysql; mysql = "select * from 客房记录表 where 房间楼层='" + fangjianxinxi.Text + "'" DataSet myds = new DataSet(); SqlDataAdapter myda = new SqlDataAdapter(mysql, conn); myda.Fill(myds, "客房记录表"); dataGridView1.DataSo

42、urce = myds.Tables"客房记录表" conn.Close(); else if (radioButton2.Checked) dataGridView1.Show(); string mysql; mysql = "select * from 客房记录表 where 房间号='" + fangjianxinxi.Text + "'" DataSet myds = new DataSet(); SqlDataAdapter myda = new SqlDataAdapter(mysql, conn); m

43、yda.Fill(myds, "客房记录表"); dataGridView1.DataSource = myds.Tables"客房记录表" conn.Close(); else if (radioButton3.Checked) dataGridView1.Show(); string mysql; mysql = "select * from 客房记录表 where 房间类型='" + fangjianxinxi.Text + "'" DataSet myds = new DataSet();

44、SqlDataAdapter myda = new SqlDataAdapter(mysql, conn); myda.Fill(myds, "客房记录表"); dataGridView1.DataSource = myds.Tables"客房记录表" conn.Close(); private void button5_Click(object sender, EventArgs e) conn.Open(); string mysql; dataGridView1.Show(); mysql = "insert into 客房记录表(房间号

45、,房间类型,房间价格,房间楼层,额定人数,备注,实际人数,房间状态) values('" + fangjianhao1.Text + "'," + "'" + textBox1.Text + "'," + "'" + textBox4.Text + "'," + "'" + textBox3.Text + "'," + "'" + textBox5.Tex

46、t + "'," + "'" + textBox6.Text + "','0','空房')" SqlCommand mycd1 = new SqlCommand(mysql, conn); mycd1.ExecuteNonQuery(); MessageBox.Show("增加记录成功!"); string mysql1 = "select * from 客房记录表 where 房间号='" + fangjianhao1.Text

47、+ "'" SqlDataAdapter myda = new SqlDataAdapter(mysql1, conn); DataSet myds = new DataSet(); myda.Fill(myds, "客房记录表"); dataGridView1.DataSource = myds.Tables"客房记录表" conn.Close(); private void zengjia_Click(object sender, EventArgs e) groupBox2.Show(); groupBox3.Show(

48、); private void button6_Click(object sender, EventArgs e) fangjianhao1.Text = "" textBox6.Text = "" textBox5.Text = "" textBox4.Text = "" textBox3.Text = "" textBox1.Text = "" private void xiugai_Click(object sender, EventArgs e) groupBox2.

温馨提示

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

评论

0/150

提交评论