




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、院 系:计算机科学学院专业、年级:2010计科1大班课程名称:软件工程项目名称:酒店客房预订管理系统学号某某:10061064朱辰学号某某:10061065徐丽学号某某:10081109X赛北学号某某:10151251X胜南指导教师:X卫平2012年12月23日目录第一章系统概述31.1 系统开发背景和意义31.2 开发语言简介1本系统简介11.4 系统运行环境2第二章系统需求分析22.1 用户需求22.2 功能需求32.3 性能需求32.4 出错处理需求3功能图3数据流图42.7 E-R 图 5第三章系统总体设计53.1 系统功能设计53.2 系统功能模块图6第四章系统详细设计84.1 系统
2、详细设计进度规划甘特图4.2 系统详细设计任务 84.3 系统物理方案配置设计94.4 系统输入输出设计 94.5 系统程序流程图12第五章模块设计思路分析11第六章使用说明12第七章程序源代码16完毕语36参考文献37第一章系统概述1.1 系统开发背景和意义随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域,成为不可缺少的工具, 尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。在人民生活水平提高的同 时,餐饮,住宿,娱乐业在服务行业中占有越来越重要的地位。要使在当前酒店行业日趋激烈的竞 争中脱颖而出,必须努力开展自己在管理方面的特色,防止传统管理方法的失误,使酒店的
3、信誉以 与各个管理方面都能够出现零失误,给管理者和普通的营业员带来操作上的方便,对整个酒店各个 方面的业务带来快捷,方便,高效的服务,才是管理软件的成功之处。现今酒店宾馆的规模不断扩大,客户数量急剧增加,有关客户的各种信息也成倍增长,尤其是 大量的客房预订信息。面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。 通过这样的系统,可以做到信息的规X管理,科学统计和快速查询,从而减少管理方面的工作量。当前许多酒店正在逐步完善客户信息管理工作,需要一个能满足内部管理需求,提高管理效率的应 用系统进展内部管理。许多酒店经过多年的开展,规模不断扩大,客流量成倍增长,积累了大量的 客户信息
4、急需进展统一管理以防信息的流失。因此,许多酒店需要一个功能全面的客户信息管理系 统来进展管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。1.2 开发语言简介酒店客房预订信息管理系统是一个对客户全方面管理的程序。该客房预订信息管理系统是在Visual C+ 6.0平台下设计开发,以 TXT文档为后台数据库,利用Visual C+ 6.0提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后,对初始原型系统进展需求迭代,不断修正和改良,直到形成用户满意的可行系统。Microsoft的Visual C+ 6.0作为一种面向网络、支持各种用户终端的开发平台环境,推动新一代因特网
5、的开展, 真正地让人们可以在任何时间、任何地点、通过任何设备得到信息。现代化的酒店组织庞大、服务项目多、信息量大,想要提高劳动生产、降低本钱、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进展现代化的信息管理。酒店管理系统正是为此而设计的。优秀的酒店客房管理系统操作方便,灵活性好,系统安全性高,运行稳定。这也是我所设计本程序的目的之一。本系统针对用户和客户以与客房的管理采用了当今常用的C/S结构而 设计。采用面向对象的语言开发而成,实现对客户预订信息的根本管理,包括订房,退房,客房信 息、客户信息的添加、修改和查询。1.4 系统运行环境机型:PC处理器:奔四或更高内存:512M或更
6、高硬盘:4G或更高输入输出设备:键盘、扫描仪、打印机、显示器等。数据库软件:Notepad编程工具、编程语言:visual C+操作系统:Microsoft Windows XP第二章系统需求分析2.1 用户需求该酒店预订管理系统使用户能迅速而便捷的了解和查询酒店信息,根据自己的需求来预订房间。一个方便地实现对客房变更、房价与预订信息的自动化操作。使用该系统全面管理酒店信息,为用户节省时间和人力,更能全面、有效地掌握酒店根本情况,与时获取最新的准确资料和信息。该软件 能系统管理酒店的信息,功能与实现方面有相当的针对性和实用性。该系统的主要功能有酒店信息 管理,房间类型管理,订单信息管理,业务人
7、员编辑和系统用户管理。2.2 功能需求本系统主要具备以下几个根本功能:1客房预订:按照客户需求,为新客户分配新客房。2退房管理:删除已退客户信息,与时更新客房留存状态,方便新客户入住。3客房设置:可以添加新客房,修改客房描述房间等级,内部设施等,删除客房。4客户设置:可以添加新客户,修改客户信息,删除已退订客户等,可准确了解每一客户的预订信息。(5)房间预订情况查询:可按客户号、房号查询,方便实用,在众多房间、客户中准确查询到某一个 房间或客户。2.3 性能需求1 .技术可行性该客房预订信息管理系统是在Visual C+ 6.0平台下设计开发,以 TXT文档为后台数据库,采用面向对象的语言开发
8、而成,系统的客户端在Windows平台下运行,服务器端可在Windows平台或UNIX平台下运行。2 . 经济可行性该系统节省人力资源本钱的同时,可以提高业务效率,并能够与时、准确、迅速地满足顾客服 务的需求,系统的开发本钱低,现有的PC机即可提供该系统开发工作需要的所有硬件设备环境。3 .操作可行性直接浏览网页的形式,利用鼠标进展傻瓜式的操作,操作中的每一步都会有相应的提示,这样可以 让更多的人群在最短的时间内学会使用他。2.4 出错处理需求在进展每一步操作时,都会有相应的提示操作,当系统出错时,会有相应的提示信息让 你寻找错误,它的简单,易学的特性使得能够广泛普与,让更多的人去使用。为了更
9、好地阐述需求更能,我们做了详细的图形说明2.5 系统功能图酒娶房颈订管理系统客房信息客户信息T-附 显不 个上.新炳更收第除4而, 显,;华阳系统数据流图E-R图第三章系统总体设计3.1 系统功能设计该系统充分考虑用户的操作简便性,实现快捷操作。它有以下几个功能:1客房预订:按照客户需求,为新客户分配新客房。2退房管理:删除已退客户信息,与时更新客房留存状态,方便新客户入住。,删除客房。3客房设置:可以添加新客房,修改客房描述房间等级,内部设施等4客户设置:可以添加新客户,修改客户信息,删除已退订客户等,可准确了解每一客户的预订信息。5房间预订情况查询:可按客户号、房号查询,方便实用,在众多房
10、间、客户中准确查询到某个 房间或客户。4.2系统功能模块图根据上述系统功能分析,能得出下面系统软件功能模块图:3.2.1整体模块分配该系统充分考虑用户的操作简便性,实现快捷操作。它有以下四大模块:1订房:按照客户需求,为新客户分配新客房。2退订:删除已退客户信息,与时更新客房留存状态,方便新客户入住。3客房信息:可以添加新客房,修改客房描述房间等级,内部设施等,删除客房以与查看所有客房的状态信息。4客户信息:可以添加新客户,修改客户信息客户编号,客户某某,删除已退订客户信息以与查看所有客户的订房状态信息。客户信息子模块1新增:录入客户编号、客户某某等信息2更改:更改相应客户的个人信息。3删除:
11、删除相应客户的个人信息。4查询:查询所需客户的订房信息。5显示:显示所有预订客户的个人信息以与预订房号6全删:删除所有客户信息。3.2.3客房信息子模块1新增:录入客房编号、客房描述等相关信息。2更改:更改相应客房的信息。3删除:删除相应客户与客房的信息。4查询:查询所需客房的订房状态。5显示:显示所有客房的房号以与预订状态信息。6全删:删除所有客房信息。第四章系统详细设计4.1系统详细设计进度规划甘特图如下酒店客房预订管理系统tn笊邦右掌款螃瞳同武耀诂/V*j力 箝J,1 X”:v Jr?1瞬定国目功於2OI2-IQ-K3倡HL牌2d,帚木才折2012-1<>-17201 露 1
12、317IdLb.1划好条空嘎里戌分就2OI2-HKIK加4编写系姓何密定管理系比2012-1(2113112- I0-2SId£落与布沌沔鼻麻血声性产QLIUknId6螭写茶”忡客广置飕系光2012-1 (MO2m 但 itknid钟bf明,皋出内生乐审理处统2012d MA3012-10-21W素好撑茂及训戊2012-10-242ni2-10-lfiId19系帏的文档将耳2012 10-272012 1(12d44.2系统详细设计任务1.算法过程的设计:本详细设计采用的是流程图的方式来表达每个处理过程的算法。2 .数据结构的设计:对于处理过程中涉与的概念性的数据类型进展确切的定义。
13、3 .测试用例设计:测试用例包括输入数据和预期结果等内容。4.3 系统物理方案配置设计1系统的可靠性:该系统要求 24小时不连续工作工作,发生错误的概率低于0.01%。系统吞吐量2要提高系统的吞吐量:要求使用具有大吞吐量的计算机。应该选择具有较高性能的计算机。3系统响应时间:响应时间不超过2秒4系统处理方式:该系统采用主机系统方式。计算机硬件选择取决于要运行的软件系统,本系统建议最低采取如下配置:内存:512MB CPU奔四1.8GHZ以上;硬盘:空余空间 4Go4.4 系统输入输出设计41 .输入数据量设计:需要输入客户数据,数据量不大。2 .输入错误检测:检测客户登记状态,确保不会重复登记
14、或登记错误。4本系统选择键盘、鼠标人工输入方式。4本系统对输入检验设计的地方有如下几处:1 .当前台工作人员输入客户数据时,系统会自动检测该信息是否已在系统中存在。2 .当业务员输入房间号时,系统会检测该房间号是否存在,假如不存在会提示酒店没该房间。41 .输出信息应包括系统的使用者,如客户、酒店管理人员、前台服务人员等。2 .信息应以表格与文档形式输出。3 .输出设备:打印机、终端显示器。4 .输出介质:输出到专用纸 X与电脑屏幕上。4系统出现错误时,将弹出提示框。并允许工作人员改正。4.5系统程序流程图取酒Nir啮时退房有所离客房信总行课客户破认无谓 i 1入住洱房乳制'. + *
15、 - I信U文纳押叁歌消痍订输入客户箱思F十卜彳一力,"力咛一接收预订信息 <鎏证客房信息I展住产生订单并弹出窗口以恃确认 )JLei, nr | 预讨111第五章模块设计思路分析本程序共有五大功能模块:新建模块、更改模块、删除模块、查询模块和显示模块。各模块在功能上互相补充,在程序中互相融合,才能实现一个具有多种功能的管理系统。1新建模块:实现所有客房、订房客户的录入工作。2更改模块:提供数据的修改,包括客户某某、客房描述等。3删除模块:将已退订的客户从数据库中删除。4查询模块:本程序最重要的模块,也是本系统的精髓所在。通过房间号或客户号实现客房 的预订情况以与客户入住情况的
16、查询工作。5显示模块:显示所有客房、订房客户的根本信息。在程序设计上,我们的目标就是先实现单个模块,进而实现整个程序。本程序正是本着这种思 想,一步一步,有条不紊的进展规划与设计。本程序通过四个类:客户类、客户库类、客房类、客 房库类,并通过主函数调用类函数实现了这五大功能模块的功能。第六章使用说明1程序主界面:界面简洁明了,一目了然,便于操作。选择数字 0-6进入相应功能。I 'E冲刷口I = 亘(2)订房:主界面选择 1进入订房功能二p禺.正且自41 3 1m 13 ( rr "a 居舄居<舄春 r;=三宜屋一恒e-=z=°(3)查询房间预订情况:主界面选
17、择3进入该功能室主宅至; 号#,匚=二 0 6 16(4)增删客户信息:主界面选择4进入该功能1 " E:HotelDebugHotfl.exe".二!回 冠1.增加客户信息:系统提示输入客户、某某等信息,按要求录入即可。2,删除个人信息:系统提示输入要更改的客户号,输入后即可更改该客户的个人信息。3.返回:返回主界面。5增删房间信息:主界面选择 5进入客房信息管理菜单。415,¥目导属一 洵情借刘-电但-旧.尸lel_J.房料客国耳iTe电音也善冠 变二二二 向“ 一启二 i 二二-Id-r rII.信甲 间理E 居->三 F除川 .若瞿费房间编号,器纭q
18、r战M里直百之乱口,1 .新增:系统提示输入房间号、房间描述等信息,按要求录入即可。2 .删除:系统提示输入要删除的房间号,输入后即可删除该房间。3 .返回:返回主界面。6查询客户和房间总信息量:主界面选择6进入该功能,通过读取文件信息、预订然后将信息输出显示。.1白学号客户已坛区订吗间m号客户53 2已税前订房司4 弓客户 S JiUM.LPie n,己1FCI11 房间111吟"客户riwiC 匕未的订卮回号客户/.巧订房3魏版蠹豪华3还未蹄二丁感1号房间C翻总统套房3己辞词项订咖与房间M押 音迤林回、配音到前匚经榭阪丁:“号庭间。绒山翳套房、舒适温窖己蛭被预订.83号房间C翔高
19、级帝皇厅、面戟大海)已经被预订01号房间£1班 高醺良秋套房、豪华A-已整糠顼订7退房:主界面选择 2进入退房功能。悔 wni 一三(E自自西店 "司白 招考客考客 妻正出 匚看很查一用音杳_迪 K"+"eIH:5M- a 3 一F h 用 s 二二二 ourax音白耨:户曾瓶退厕一8退出:主界面选择 0退出程序。(9)文件中读取房间信息room曲南房房客房Mi 订年查一宝盘.急追 预售信相room.txt 记事本海4<华电温朝S面,配针:高房皇套标套和忌套 华统一改级鬟级视 =客忌妞日-eA量后尽高电12 4 3 2 1 115*- -a皿 .
20、Jlx 200100100 163211325(10)文件读取客户信息 customercustom er. txt - 记事本文件(F)编辑(E)格式(0查看(V)帮助H)xuxu 1022xuxu 1010 zhuchen1064xuli1065saibei1103shentLan1251David 100SHarry10061Ata1002Tom1004xuxu1066dali1023,第七章程序源代码程序源代码包含三大块:类定义、各功能函数定义与实现和主函数实现类定义源代码:#ifndef INFO_H#define INFO_H#include<fstream>#incl
21、ude<string>#include<cstdlib>using namespace std;namespace info_spaceclass Customerpublic:Customer。;string name;int number; /客户编号;class Room( public: Room();int room_number;int room_level;/ 房间等级,1-5 级string room_config;/ 房间配置:高级,优,良,中等,普通 ;class CustomerBase(public:CustomerBase();void add
22、(Customer temp);/前条件,temp 已经含有值void remove(Customer temp);Customer the_customer;CustomerBase* next;class RoomBase(public: RoomBase();void add(Room temp);void remove(Room temp);Room the_room;RoomBase* next;class InfoBase( public:int customer_number;int room_number;InfoBase();void add(InfoBase*& t
23、emp_ptr,int um,int rnum);void remove(InfoBase*& temp_ptr,int um);bool check(InfoBase*& temp_ptr,int um);bool checkall(InfoBase*& temp_ptr,int um,int rnum);void output(InfoBase*& temp_ptr);InfoBase* next;); typedef CustomerBase* CBasePtr; typedef RoomBase* RBasePtr;typedef InfoBase* I
24、BasePtr;Customer:Customer() /构造函数 name="" number=-1; ) Room:Room() room_number=-1; room_level=0; room_config="" ) CustomerBase:CustomerBase() next=NULL; ) RoomBase:RoomBase() next=NULL; ) InfoBase:InfoBase() next=NULL; ) void pause() char get;cout<<"请按下任何键继续"<&
25、lt;endl;cin.get(get);cin.get(get);) /info_space 的结尾 #endif INFO_H 各功能函数源代码:#ifndef INFO_FUN_H#define INFO_FUN_H#include<iostream>#include<fstream>#include<string>#include<cstdlib>#include "info.h"namespace info_space void readfile(ifstream& instream,CBasePtr&
26、; temp) /从文件中读取客户数据int t_number=-1;string t_name=""CBasePtr t_temp=new CustomerBase;instream>>t_name;while(!instream.eof()instream>>t_number;t_temp->the_=t_name;t_temp->the_customer.number=t_number;if(instream.eof() return;t_temp->next=temp;temp=t_temp;t_t
27、emp=NULL;t_temp=new CustomerBase; /循环创建用户信息类instream>>t_name;void writefile(ofstream& outstream,CBasePtr& temp) /信息写入文件中if(temp=NULL) return;CBasePtr t_temp=temp; /为了防止写完文件后,指针到达指针尾while(t_temp!=NULL) if(t_temp->the_="")t_temp=t_temp->next;if(t_temp=NULL) b
28、reak; / 这两个if语句用来判别输出客户信息 outstream<<t_temp->the_<<""<<t_temp->the_customer.number<<endl;t_temp=t_temp->next; void readfile(ifstream& instream,RBasePtr& temp) /读取文件函数的重载int number=-1;int level=0;string config=""RBasePtr t_temp
29、=new RoomBase;instream>>number;while(!instream.eof() instream>>level;instream>>config;t_temp->the_room.room_number=number;t_temp->the_room.room_level=level;t_temp->the_room.room_config=config;if(instream.eof() return;t_temp->next=temp;temp=t_temp;t_temp=NULL;t_temp=new
30、RoomBase;instream>>number; void writefile(ofstream& outstream,RBasePtr& temp) if(temp=NULL) return;RBasePtr t_temp=temp;while(t_temp!=NULL) if(t_temp->the_room.room_number=-1)t_temp=t_temp->next;if(t_temp=NULL) break; / 这两个if语句用来判别输出房间信息 outstream<<t_temp->the_room.room_
31、number<<"" <<t_temp->the_room.room_level<<""<<t_temp->the_room.room_config<<endl;t_temp=t_temp->next; bool check(CBasePtr& temp_ptr,int number)/ 假如找到一样编号如此返回true,否如此返回 falseCBasePtr the_ptr=temp_ptr;while(the_ptr!=NULL) if(the_ptr->th
32、e_customer.number=number)return true;else the_ptr=the_ptr->next;return false; bool check(RBasePtr& temp_ptr,int number) /核对预订的客户和客房信息,看是否还有空房RBasePtr the_ptr=temp_ptr;while(the_ptr!=NULL) if(the_ptr->the_room.room_number=number)return true;else the_ptr=the_ptr->next; return false; void
33、CustomerBase:add(Customer temp) / 添加客户信息 if(=""|temp.number=-1) cout<<"用户信息未填写完整,请重新填写!"return; elseifstream instream;ofstream outstream;instream.open("E:customer.txt");CBasePtr temp_ptr=NULL;readfile(instream,temp_ptr); /读取文件中的客户信息,存入 temp_ptr中CBasePtr t
34、t_ptr=temp_ptr;/用此临时指针获取指针尾部指针,从而让新客户信息加到指针尾部,写入的时候也会相应写到文 件尾部while(tt_ptr->next!=NULL) tt_ptr=tt_ptr->next;if(check(temp_ptr,temp.number) cout<<"客户编号已经存在,请核查!"<<endl;return; else CBasePtr ptr=new CustomerBase;ptr->the_customer=temp;tt_ptr->next=ptr; outstream.open(
35、"E:customer.txt"); /open函数会刷新文档,里面存储的内容全失writefile(outstream,temp_ptr); /将新的链表信息写入文件中 void CustomerBase:remove(Customer temp) /删除客户信息 int flag=0; /设置一个标记,用来检验删除是否成功ifstream instream;ofstream outstream;instream.open("E:customer.txt");CBasePtr temp_ptr=NULL;readfile(instream,temp_p
36、tr); /读取文件中的客户信息,存入 temp_ptr中if(!check(temp_ptr,temp.number) cout<<"不存在此编号!"<<endl;return; CBasePtr before=temp_ptr,after=temp_ptr; /创建一个前指针和后指针,方便删除对应元素if(before->the_customer.number=temp.number) (temp_ptr=temp_ptr->next; /如果第一个元素就是要删除的元素如此直接删除after=NULL; 元素已经删除,可以直接写入文件
37、中,设置 after为NULL跳过while循环flag=1;while(after!=NULL)(if(after->the_customer.number=temp.number)(before->next=after->next;flag=1; / 删除成功,设置标志为1else(before=before->next;after=before->next;/while循环完毕if(flag=0) cout<<"不存在此编号!"<<endl; 删除失败else ( outstream.open("E:cu
38、stomer.txt");writefile(outstream,temp_ptr); /将新链表写入文件 void RoomBase:add(Room temp) /文件中存在的房间信息(if(temp.room_number=-1|temp.room_level=0|temp.room_config="") (cout<<"房间信息未填写完整,请重新填写! "return; else(ifstream instream;ofstream outstream;instream.open("E:room.txt"
39、);RBasePtr temp_ptr=NULL;readfile(instream,temp_ptr); /读取文件中的房间信息,存入 temp_ptr中RBasePtr tt_ptr=temp_ptr;/用此临时指针获取指针尾部指针,从而让新房间信息加到指针尾部,写入的时候也会相应写到文 件尾部while(tt_ptr->next!=NULL) tt_ptr=tt_ptr->next;if(check(temp_ptr,temp.room_number)(cout<<"房间编号已经存在,请核查!"<<endl;return;else(
40、RBasePtr ptr=new RoomBase;ptr->the_room=temp;tt_ptr->next=ptr;outstream.open("E:room.txt");writefile(outstream,temp_ptr); /将新的链表信息写入文件中void RoomBase:remove(Room temp)(int flag=0; /设置一个标记,用来检验删除是否成功ifstream instream;ofstream outstream;instream.open("E:room.txt");RBasePtr tem
41、p_ptr=NULL;readfile(instream,temp_ptr); /读取文件中的房间信息,存入 temp_ptr中if(!check(temp_ptr,temp.room_number)(cout<<"不存在此编号!"<<endl;return; )RBasePtr before=temp_ptr,after=temp_ptr; /创建一个前指针和后指针,方便删除对应:if(before->the_room.room_number=temp.room_number) temp_ptr=temp_ptr->next; /如果第
42、一个元素就是要删除的元素如此直接删除after=NULL; 元素已经删除,可以直接写入文件中,设置 after为NULL跳过while循环flag=1; ) while(after!=NULL) if(after->the_room.room_number=temp.room_number) before->next=after->next;flag=1; /删除成功,设置标志为1)elsebefore=before->next;after=before->next;)/while循环完毕if(flag=0) cout<<"不存在此编号!&q
43、uot;<<endl; 删除失败elseoutstream.open("E:room.txt");writefile(outstream,temp_ptr); /将新链表写入文件 void InfoBase:add(IBasePtr& temp_ptr,int um,int rnum) /增加预定信息if(um<0|rnum<0) cout<<"请填写一个正整数编号!"return;) else(IBasePtr ptr=new InfoBase;ptr->customer_number=um;ptr-&
44、gt;room_number=rnum;ptr->next=temp_ptr;temp_ptr=ptr;) )void InfoBase:remove(IBasePtr& temp_ptr,int um) /退订后删除相关预定信息(IBasePtr before=temp_ptr,after=temp_ptr;if(before->customer_number=um) (temp_ptr=temp_ptr->next;cout<<"退订成功!"<<endl;return;)while(after!=NULL)(if(aft
45、er->customer_number=um)(before->next=after->next;cout<<"退订成功!"<<endl;return;) else(before=before->next;after=before->next;) )bool InfoBase:check(IBasePtr& temp_ptr,int um) /检查该客户是否预定房间(IBasePtr ptr=temp_ptr;while(ptr!=NULL) (if(ptr->customer_number=um)retu
46、rn true;else ptr=ptr->next;)return false;)bool InfoBase:checkall(IBasePtr& temp_ptr,int um,int rnum) (IBasePtr ptr=temp_ptr;while(ptr!=NULL)(if(ptr->customer_number=um)(cout<<"该客户已经预订房间!"<<endl;return true;)else if(ptr->room_number=rnum)(cout<<"该房间已被预订!
47、"<<endl;return true;)else ptr=ptr->next;)return false;)void InfoBase二output(IBasePtr& temp_ptr)(if(temp_ptr=NULL)(cout<<"没有房间预订信息可查!"<<endl;return;) else(IBasePtr ptr=temp_ptr;while(ptr!=NULL)cout<<ptr->customer_number<<" 号客户选择了 "<&
48、lt;ptr->room_number<<"号房间"<<endl;#include<string>#include<cstdlib>#include<dos.h>#include "Info.h" /包含所有的类定义#include "info_fun.h" /包含所有的函数定义using namespace info_space;int main()int choice;int customer_number,room_number;CBasePtr CB_ptr=N
49、ULL;RBasePtr RB_ptr=NULL;IBasePtr IB_ptr=NULL;Customer the_customer;Room the_room;ifstream in_customer;in_customer.open("E:customer.txt"); /打开存储客户信息的文件ifstream in_room; in_room.open("E:room.txt"); /打开存储房间信息的文件label_menu:cout<<" 房间预订菜单"<<endl;cout<<&quo
50、t;1 预定房间"<<endl;cout<<"2 退订房间"<<endl;cout<<"3 查询房间预定情况"<<endl;cout<<"4 增删客户信息"<<endl;cout<<"5 增删房间信息"<<endl;cout<<"6 查询客户和房间总信息"<<endl;cout<<"0 退出"<<endl;cou
51、t<<"Your choice:"<<endl;cin>>choice;if(choice>6|choice<0)cout<<"输入的数字有误,请重新输入!"<<endl;system("cls");goto label_menu;switch(choice) case 1:cout<<"请输入客户编号和房间编号"<<endl;cout<<"客户编号:"<<endl;cin&g
52、t;>customer_number;cout<<"房间编号:"<<endl;cin>>room_number;readfile(in_customer,CB_ptr); /读取文件客户信息if(!check(CB_ptr,customer_number)cout<<"客户编号不存在,请核查!"<<endl;pause();/system("cls");goto label_menu;readfile(in_room,RB_ptr);读取文件房间信息if(!check(
53、RB_ptr,room_number)cout<<"房间编号不存在,请核查!"<<endl;pause();/system("cls");goto label_menu;if(!IB_ptr->checkall(IB_ptr,customer_number,room_number) /客户没有预订房间且房间没有被预订IB_ptr->add(IB_ptr,customer_number,room_number);break;case 2:cout<<"请输入客户编号:"<<en
54、dl;cout<<"客户编号:"<<endl;cin>>customer_number;readfile(in_customer,CB_ptr); /读取文件客户信息if(!check(CB_ptr,customer_number)cout<<"客户编号不存在,请核查!"<<endl;pause();/system("cls");goto label_menu;)if(IB_ptr->check(IB_ptr,customer_number) /检查该客户是否已经预定房
55、间IB_ptr->remove(IB_ptr,customer_number);elsecout<<"该客户未预定房间,请核查!"<<endl;pause();/system("cls");goto label_menu;)break;)case 3:IB_ptr->output(IB_ptr);break;)case 4:int choose;cout<<"1 增加客户信息"<<endl;cout<<"2 删除客户信息"<<end
56、l;cout<<"3 返回主菜单"<<endl;cin>>choose;switch(choose) case 1:string name=""int number=-1;Customer temp;cout<<"请输入客户名称和编号:"<<endl;cout<<"客户名称:"<<endl;cin>>name;cout<<"客户编号:"<<endl;cin>>num
57、ber;=name; temp.number=number;CB_ptr->add(temp);break;)case 2:(string name=""int number=-1;Customer temp;cout<<"请输入客户编号:"<<endl;cin>>number;=name; temp.number=number;CB_ptr->remove(temp);break;)case 3:(system("cls");goto label_menu;)break;)case 5:(int choose;cout<<"1 增加房间信息"<<endl;cout<<-2 删除房间信息"<<endl;cout<<"3 返回主菜单"<<endl;cin>>choose;switch(choose)(case 1:(int number=-1;int level=0;string config=""Room temp;cout<<"请输入房间编号,等级(1-5级
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 我会排好队安全
- 阿坝职业学院《医药信息技术基础》2023-2024学年第二学期期末试卷
- 陕西中医药大学《书法之美》2023-2024学年第二学期期末试卷
- 陕西咸阳武功县普集高级中学2025届高中毕业班第一次模拟(物理试题文)试卷含解析
- 陕西学前师范学院《员工招聘与录用》2023-2024学年第二学期期末试卷
- 陕西工商职业学院《商法专论》2023-2024学年第二学期期末试卷
- 陕西汉中市汉台区县2024-2025学年高三下学期第一次质量检测试题历史试题含解析
- 陕西省商洛市丹凤中学2025年高三语文试题综合试卷(16)语文试题含解析
- 陕西省安康市旬阳县2025届四下数学期末考试模拟试题含解析
- 陕西省汉中市龙岗学校2024-2025学年高三第十次模拟考试(5月)英语试题含解析
- Unit 2 Understanding ideas The Well that changed the world 说课课件-2022-2023学年高中英语外研版(2019)必修第三册
- 地下非煤矿山复产验收细则(安全管理)
- DB63-T 2160-2023 公路建设环境保护和水土保持综合服务规范
- 一般现在时的特殊疑问句
- 贵州交通运输厅所属事业单位考试真题2022
- 18CS01 装配式箱泵一体化消防给水泵站选用及安装-MX智慧型泵站
- 曲阜师范大学毕业论文答辩通用ppt模板
- 法律文书制作基础-制作基础
- 避孕药具知识培训-专业知识讲座
- 体育运动教练岗位职责说明书精美打印版本
- 口腔颌面外科学 11先天性唇裂和腭裂
评论
0/150
提交评论