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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

客房管理系统.docx

1、客房管理系统 兰州商学院陇桥学院 信息工程系课程设计报告课 程 名 称: C#课程设计 设 计 题 目:客房管理系统 系 别:信息工程系 专 业 (方 向):计算机科学与技术(网络工程方向)年 级、 班:2012级本科班 学 生 姓 名:XXX 学 生 学 号:0000000000000 本 组 组 员:XXXXXXXXXXXXXXXX 指 导 教 师:杨光 2014 年 12 月 28 日目录一、系统开发的背景 1二、系统分析与设计 1(一) 系统功能要求 1(二) 系统模块结构设计 1三、系统的设计与实现 3(一) 入住登记:CustormerCheckIn类 3(二) 客房状态:Hous

2、eCurrentType类 5(三) 更换客房:ChangeHouse类 6(四) 结账退房:LeaveHouse类 9(五) 在住客人查询:CustomIn类 11(六)历史客人查询:CustomInOld类 13(七)修改房价:ChangePrice类 14(八)用户注册:Register类 15(九)修改密码:ChangePassword类 17(十)删除用户:DeleteUser类 18(十一)退出: 20四、系统测试 20(一) 测试CustormerCheckIn类 20(二) 测试HouseCurrentType类 21(三) 测试ChangeHouse类 22(四) 测试Lea

3、veHouse类 22(五) 测试CustomIn类 23(六) 测试CustomInOld类 23(七) 测试ChangePrice类 24(八) 测试Register类 25(九) 测试ChangePassword类 26(十) 测试DeleteUser类 26五、总结 27六、附件(代码、部分图表) 28客房管理系统一、系统开发的背景古有客栈,今有客房,随着时代发展,人流量增加,其地位俞显其重要。传统的“账册”在快捷、安全方面已经不能适应时代的要求,因此为了迎合时代的需求,我们利用所学知识,设计出了客房管理系统,并应用数据库来进行数据存储。使得对客房管理方面应用起来很方便。二、系统分析与

4、设计(一) 系统功能要求可以录入客房各种信息,包括客房的类别、当前的状态、负责人等;实现的功能有:客房信息的查询和修改,包括按房间号查询住宿情况、按客户信息查询房间状态等,以及退房、订房、换房等信息的修改。主要模块有:1. 前台操作:入住登记、客房状态、更换客房、结账退房;2. 信息查询:在住客人查询、历史客人查询;3. 基本资料:修改房价、用户注册、修改密码;4. 退出。其中历史客人查询、修改房价、修改密码、用户注册只有管理员才有权限。(二) 系统模块结构设计通过对系统功能的分析,客房管理系统功能如图1所示。 图1 客房管理系统功能图通过上图的功能分析,把整个系统划分为10个模块:1、 入住

5、登记,该模块主要实现:对客户基本资料和客房基本资料的存储。借助CustormerCheckIn类来实现;2、 客房状态,该模块主要实现:实现对客房编号、客房类型等状态的查询。借助HouseCurrentType类来实现;3、 更换客房,该模块主要实现客房的更换。借助ChangHouse类来实现。借助ChangeHouse类来实现。4、 结账退房,该模块主要通过对在住客房的定位,实现结账退房。借助LeaveHouse类来实现。5、 在住客人查询,该模块主要通过选择查询方式,输入正确信息,对客人基本信息查询。借助CustomIn类来实现。6、 历史客人查询,该功能只能在管理员状态下使用,主要实现对

6、历史客人的查询。借助CustomInOld类来实现。7、 修改房价,该功能只能在管理员状态下使用,主要实现对房价的修改。借助ChangePrice类来实现。8、 用户注册,此功能只能在管理员状态下使用,主要实现新用户注册。借助Register类来实现。9、 修改密码,此功能只能在管理员状态下使用,主要实现对旧密码的修改。借助ChangePassword类来实现。10、 删除用户,功能主要实现对用户的删除。借助DeleteUser类来实现。11、 退出,该模块主要实现安全退出客房管理系统。三、系统的设计与实现(一) 入住登记:CustormerCheckIn类分析:首先输入完整的客户信息和客房信

7、息,然后判断是否所有信息完整,如果完整则进行保存,否则重新进行信息输入。流程图如图2所示。图2:CustormerCheckIn类流程图该模块的具体代码如下所示。 private void btnSave_Click(object sender, EventArgs e) if (txtName.Text.Trim() = | Convert.ToString(boxIdType.SelectedItem) = | txtIdNumber.Text.Trim() = | txtLocation.Text.Trim() = | txtTel.Text.Trim() = | txtPrice.Te

8、xt.Trim() = | Convert.ToString(boxHouseNumber.SelectedItem) = | txtAdvance.Text.Trim() = | Convert.ToString(boxPayType.SelectedItem) = | txtPrincipal.Text.Trim() = | txtCheckInTime.Text.Trim() = ) MessageBox.Show(请?将?客户信?息填?写完整?!?, 提示?); txtName.Focus(); else string CustomerName = txtName.Text.Trim(

9、); string customerSex = null; if (radioButtonMale.Checked = true) customerSex = 男D; else customerSex = 女?; string IdType = Convert.ToString(boxIdType.SelectedItem); string IdNumber = txtIdNumber.Text.Trim(); string CustomerLocation = txtLocation.Text.Trim(); string Tel = txtTel.Text.Trim(); string I

10、nType = Convert.ToString(boxInType.SelectedItem); string HouseType = Convert.ToString(boxHouseType.SelectedItem); float Price = Convert.ToSingle(txtPrice.Text.Trim(); string HouseNumber = Convert.ToString(boxHouseNumber.SelectedItem); float Advance = Convert.ToSingle(txtAdvance.Text.Trim(); string P

11、ayType = Convert.ToString(boxPayType.SelectedItem); DateTime RegistrationTime = Convert.ToDateTime(txtRegistrationTime.Text.Trim(); DateTime LeaveTime = Convert.ToDateTime(dateTimePickerLeaveTime.Text.Trim(); string LeaveType = False; string CurrentState = null; if (index - 1 0) CurrentState = True;

12、 else CurrentState = False; string Principal = txtPrincipal.Text.Trim(); int CheckInTime = Convert.ToInt32(txtCheckInTime.Text.Trim(); string Remark = txtRemark.Text.Trim(); float countPrice = Price * CheckInTime; string sqlInsert = String.Format(insert into Tb_InInformation (CustomerName,CustomerSe

13、x,InType,PayType,Advance,IdType,IdNumber,CustomerLocation,RegistrationTime,LeaveType,LeaveTime,CheckInTime,Tel,HouseType,HouseNumber,Principal,Price,CountPrice,Unit) values(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18), CustomerName, customerSex, InType, PayType, Advance, IdType, IdNumber, Custome

14、rLocation, RegistrationTime, LeaveType, LeaveTime, CheckInTime, Tel, HouseType, HouseNumber, Principal, Price, countPrice, lblOk.Text.Trim(); string sqlUpdate = String.Format(update Tb_HouseNumberInformation set FewNumbers=0,CurrentState=1 where Id=2, index - 1, CurrentState, id); using (conn = SqlC

15、onnUtils.getConnection() using (comm = new SqlCommand() conn.Open(); comm.Connection = conn; comm.CommandText = sqlInsert; int k = comm.ExecuteNonQuery(); if (k 0) comm.CommandText = sqlUpdate; comm.ExecuteNonQuery(); MessageBox.Show(客户登?记?成功|!?); conn.Close(); init(); else MessageBox.Show(客户登?记?失败!

16、?); (二) 客房状态:HouseCurrentType类分析:首先选择正确的客房类型,然后判断是否选择,如果选择则显示所选类型客房的基本状态,否则提示请选择客房类型,进行重新选择。流程图如图3所示:图3:HouseCurrentType类流程图该模块的具体代码如下所示:private void btnOk_Click(object sender, EventArgs e) if (boxHouseType.Text = ) MessageBox.Show(请?选?择?房?间?类型, 信?息提示?); else string value = boxHouseType.SelectedItem

17、.ToString(); string sqlselect = String.Format(select Id as 编号?,HouseType as 客房?类型,CurrentState as 当前状态?,Principal as 房?间?负o责e人?,Numbers as 房?间?编号?,Price as 房?价? from Tb_HouseNumberInformation where CurrentState=True and HouseType=0, value); sda = new SqlDataAdapter(sqlselect, conn); tableFind = new

18、DataTable(); sda.Fill(tableFind); dataGridView1.DataSource = tableFind; toolStripStatusLabelShow.Text = String.Format(共2有D空?房?0个?!?, dataGridView1.Rows.Count); btnShow.Visible = true; (三) 更换客房:ChangeHouse类分析:首先输入原来客房和新客房,然后根据对应关系进行换房操作。基本流程图如图4所示:图4:ChangeHouse类流程图该模块的具体代码如下所示:private void btnOk_Cli

19、ck(object sender, EventArgs e) string sqlfind = String.Format(select FewNumbers,Count from Tb_HouseNumberInformation where Numbers=0, Convert.ToInt32(txtOld.Text.Trim(); using (conn = SqlConnUtils.getConnection() using (comm = new SqlCommand() comm.Connection = conn; comm.CommandText = sqlfind; conn

20、.Open(); reader = comm.ExecuteReader(); if (reader.HasRows) while (reader.Read() fewNumbersOld = Convert.ToInt32(reader0.ToString(); countOld = Convert.ToInt32(reader1.ToString(); if (fewNumbersOld+1 = 0) currentStateNew = True; else currentStateNew = False; reader.Close(); using (comm = new SqlComm

21、and() sqlupdate = String.Format(update Tb_HouseNumberInformation set CurrentState=0,FewNumbers=1 where Numbers=2, currentStateNew, fewNumbersOld + 1, Convert.ToInt32(txtOld.Text.Trim(); comm.Connection = conn; comm.CommandText = sqlupdate; comm.ExecuteNonQuery(); using (comm = new SqlCommand() sqlup

22、date = String.Format(update Tb_HouseNumberInformation set CurrentState=0,FewNumbers=1 where Numbers=2, currentStateOld, fewNumbersNew - 1, Convert.ToInt32(txtNew.Text.Trim(); comm.Connection = conn; comm.CommandText = sqlupdate; comm.ExecuteNonQuery(); using (comm = new SqlCommand() sqlupdate = Stri

23、ng.Format(update Tb_InInformation set HouseNumber=0,Price=1 where CustomerName=2, Convert.ToInt32(txtNew.Text.Trim(), newPrice, nameOld); comm.Connection = conn; comm.CommandText = sqlupdate; int h = comm.ExecuteNonQuery(); if (h 0) MessageBox.Show(换?房?成功|!, 换?房?信?息提示?); conn.Close(); init(); else M

24、essageBox.Show(换?房?失败!, 换?房?信?息提示?); (四) 结账退房:LeaveHouse类分析:首先输入在住客房,如果存在该客房,则进行退房,否则提示没有改客房。流程图如图5所示:图5:LeaveHouse类流程图 该模块具体代码如下: private void btnOk_Click(object sender, EventArgs e) if (lblId.Visible = false) MessageBox.Show(请?选?择?要a退?房?的?客户!?, 信?息提示?); else int i = 0, j = 0; realLeaveTime = Conve

25、rt.ToDateTime(string.Format(0:yyyy-MM-dd HH:mm:ss, DateTime.Now); realCheckInTime = Convert.ToInt32(txtNumbers.Text.Trim(); realCountPrice = Convert.ToSingle(txtCountPrice.Text.Trim(); sqlUpdate = String.Format(update Tb_InInformation set CheckInTime=0,CountPrice=1,RealLeaveTime=2,LeaveType=3 where

26、IdNumber=4, realCheckInTime, realCountPrice, realLeaveTime, True, idNumbers); sqlFind = String.Format(select FewNumbers from Tb_HouseNumberInformation where Numbers=0, Convert.ToInt32(txtHouseNumbers.Text.Trim(); conn = SqlConnUtils.getConnection(); comm = new SqlCommand(); comm.Connection = conn; c

27、onn.Open(); comm.CommandText = sqlFind; reader = comm.ExecuteReader(); if (reader.HasRows) while (reader.Read() FewNumber = Convert.ToInt32(reader0.ToString(); reader.Dispose(); comm.CommandText = sqlUpdate; i = comm.ExecuteNonQuery(); sqlUpdate = String.Format(update Tb_HouseNumberInformation set CurrentState=0,FewNumbers=1 where Numbers=2, True, FewNumber + 1, Convert.ToInt32(txtHouseNumbers.Text.Trim(); comm.CommandText = sqlUpdate; j = comm.ExecuteNonQuery(); if (i 0 & j 0) M

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

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