摘要:本文基于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()(输入客房函数)中,运用coutlt;lt;下面开始添加客房信息n;coutlt;lt;客房编号:;提示用户输入信息;然后用if语句判断是否保存,若保存,创建一个输入文件流对象,创建并打开文件,通过语句ofilelt;3。2查询函数 以客房信息中的Rfindbynum()(按编号查询客房)为例说明。首先定义各个变量,通过语句语句ifstreamf1(Guestroom。txt);打开文件;通过if语句if(!f1)进行安全检查,若文件出错,打印对不起,没有客房信息!;若打开文件成功,进行while循环,循环条件:文件中内容没有读取完,语句while(f1gt;gt;num1gt;gt;type1gt;gt;price1gt;gt;count1gt;gt;s1)实现;如果找到了numnum1,就使flagtrue;紧接着打印出内容coutlt;lt;t客房编号:lt;3。3修改函数 首先定义Guestroomp〔N〕;和Guestroomq;用于读取数据;stringnum1;inti0;用于循环;boolflagfalse;用于判断是否已找出所要修改的客房。然后语句:coutlt;lt;n请输入你要查找的客房编号:;cingt;gt;num1;读取客房编号;语句ifstreamifile(Guestroom。txt,ios::in);打开文件;运用while(ifile)语句,当没有读到文件尾时,循环一直进行;再命令一个tellg指针和seekp指针,指到所要修改的一行;语句ifilegt;gt;p〔i〕。numgt;gt;p〔i〕。typegt;gt;p〔i〕。pricegt;gt;p〔i〕。countgt;gt;p〔i〕。s;读出文件内容,if(p〔i〕。numnum1),找到,开始打印客房的原始信息,确认信息之后,开始修改该客房的信息。 修改完成之后,ofstreamofile(Guestroom。txt,ios::inios::out);ofile。seekp(j);再次运用指针,写到文件中指定位置,ofilelt;3。4数据的保存和装载 本系统中一共有三类信息:客房信息,客户信息,入住信息。分别保存在Guestroom。txt文件,Person。txt文件和RoomPerson。txt文件中(用户可根据个人习惯更改名称)。其中,Guestroom。txt和RoomPerson。txt中的信息是通过录入函数写入文件中的,Person。txt中的信息是通过调入函数将RoomPerson。txt中部分信息复制进去,这几个函数在前面都已详细介绍。 数据的提取和写入是通过输出流和输入流来进行的,通过重载lt;lt;和gt;gt;,方便的提取和写入数据。friendistreamamp;operatorgt;gt;(istreamamp;fin,Basicpersonamp;p){p。Pinput(fin);returnfin;}friendostreamamp;operatorlt;lt;(ostreamamp;fout,Basicpersonamp;p){p。Pprt(fout);returnfout;}同时还运用了readch,tellg,seekp来读取数据。 4综述 本系统的类和函数有紧密的联系,函数又与文件紧紧相连,通过这几块大的知识相互结合运用再与C中的异常,虚函数,模板等知识串联,实现了系统基本的录入,打印,查询,修改,删除功能。 参考文献 〔1〕陈建平,刘维富等。VisualC程序设计课程建设研究与实践〔J〕。计算机教育,2007(12)。