欢迎来到学术参考网

酒店客房管理系统的设计与实现

发布时间:2017-12-28 10:12

  摘要:本文基于C语言和C++论述了酒店客房管理系统的设计与实现,运用“类”将客房信息管理、客户信息管理以及入住信息管理相互联系;运用各个函数实现具体功能。


  关键词:酒店客房管理;C语言;C++类


  1系统需求分析


  站在用户的角度上,酒店客房管理系统设计的目的及意义是:(1)为了较便利地在文件中录入相关的客房信息和入住信息;(2)为了较便捷地按个人需求或意愿来查询已保存的相关信息;(3)为了可以通过该系统修改已保存的相关信息。


  基于以上考虑,该酒店客房管理系统所需实现的功能有客房信息、入住信息和客户信息的录入、查询、修改等功能。


  2总体设计


  2.1系统功能分析


  根据系统的需求分析,本系统主要实现三大功能:(1)客房信息管理。录入客房信息:包括客房编号,价格,类型,容量,使用状况等信息的录入;查询客房信息:分别按照编号,价格,类型来查询客房,了解客房状况;修改及保存客房信息:修改客房的基本属性并进行保存;打印客房信息:将酒店中的客房信息实现全部打印在屏幕上,便于了解入住状况。(2)客户信息管理。录入客户信息:从入住信息调入客户客户的基本属性;查询客户信息:分别按照姓名,身份证号,订房日期来查询客户信息;修改及保存客户信息:修改客户基本属性并保存;打印客户信息:将所有入住过的客户信息打印出来,以便查看;(3)入住信息管理。录入入住信息:客户的基本属性包括入住客户的姓名,身份证号,性别,年龄,籍贯,电话,订房日期,入住时长等,以及入住的房号和房间类型;查询入住信息:分别按客户姓名,房号,入住时间,身份证号进行信息查询;修改及保存入住信息:修改入住客户的基本属性以及所住房间的号码和类型;打印入住信息:将入住信息打印出来,以便查询。


  2.2类的描述


  本系统共分为五个大类,分别是:


  Basicroom,Guestoom,Basicperson,Person,RoomPerson。


  各个类及函数的关系如下图所示。


  3详细设计与实现


  3.1录入函数


  录入函数运用在客房信息与客户信息中,在AddtheGuestroom()(输入客房函数)中,运用“cout<<”下面开始添加客房信息\n”;cout<<”客房编号:”;”提示用户输入信息;然后用if语句判断是否保存,若保存,创建一个输入文件流对象,创建并打开文件,通过语句“ofile<3.2查询函数


  以客房信息中的Rfindbynum()(按编号查询客房)为例说明。首先定义各个变量,通过语句语句“ifstreamf1(“Guestroom.txt”);”打开文件;通过if语句“if(!f1)”进行安全检查,若文件出错,打印“对不起,没有客房信息!”;若打开文件成功,进行while循环,循环条件:文件中内容没有读取完,语句“while(f1>>num1>>type1>>price1>>count1>>s1)”实现;如果找到了num==num1,就使flag=true;紧接着打印出内容cout<<”\t客房编号:”<3.3修改函数


  首先定义Guestroomp[N];和Guestroomq;用于读取数据;stringnum1;inti=0;用于循环;boolflag=false;用于判断是否已找出所要修改的客房。然后语句:cout<<”\n请输入你要查找的客房编号:”;cin>>num1;读取客房编号;语句“ifstreamifile(“Guestroom.txt”,ios::in);”打开文件;运用while(ifile)语句,当没有读到文件尾时,循环一直进行;再命令一个tellg指针和seekp指针,指到所要修改的一行;语句“ifile>>p[i].num>>p[i].type>>p[i].price>>p[i].count>>p[i].s;”读出文件内容,if(p[i].num==num1),找到,开始打印客房的原始信息,确认信息之后,开始修改该客房的信息。


  修改完成之后,ofstreamofile(“Guestroom.txt”,ios::in|ios::out);ofile.seekp(j);再次运用指针,写到文件中指定位置,ofile<3.4数据的保存和装载


  本系统中一共有三类信息:客房信息,客户信息,入住信息。分别保存在Guestroom.txt文件,Person.txt文件和RoomPerson.txt文件中(用户可根据个人习惯更改名称)。其中,Guestroom.txt和RoomPerson.txt中的信息是通过录入函数写入文件中的,Person.txt中的信息是通过调入函数将RoomPerson.txt中部分信息复制进去,这几个函数在前面都已详细介绍。


  数据的提取和写入是通过输出流和输入流来进行的,通过重载<<和>>,方便的提取和写入数据。friendistream&operator>>(istream&fin,Basicperson&p){p.Pinput(fin);returnfin;}friendostream&operator<<(ostream&fout,Basicperson&p){p.Pprt(fout);returnfout;}同时还运用了read_ch,tellg,seekp来读取数据。


  4综述


  本系统的类和函数有紧密的联系,函数又与文件紧紧相连,通过这几块大的知识相互结合运用再与C++中的异常,虚函数,模板等知识串联,实现了系统基本的录入,打印,查询,修改,删除功能。


  作者:李喜乐


  参考文献 

  [1] 陈建平,刘维富等.Visual C++程序设计课程建设研究与实践[J].计算机教育,2007(12). 

学术参考网:http://www.lw881.com/gl/ny/222560.html

上一篇:定制化旅游网站现状分析

下一篇:高等院校旅游管理专业实践教学模式初探