宾馆客房管理系统说明书.docx
- 文档编号:6088817
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:25
- 大小:221.56KB
宾馆客房管理系统说明书.docx
《宾馆客房管理系统说明书.docx》由会员分享,可在线阅读,更多相关《宾馆客房管理系统说明书.docx(25页珍藏版)》请在冰豆网上搜索。
宾馆客房管理系统说明书
目录
中文摘要2
序言3
1.采用类C语言定义相关数据类型4
2.各模块流程图及伪码算法5
3.函数的调用关系图10
4.调试分析11
a.调试中遇到的问题及对问题的解决方法11
b.算法的时间复杂度和空间复杂度11
5.测试结果12
设计总结14
参考文献15
致谢16
附录:
源程序17
中文摘要
该论文分别对软件的需求进行分析,对软件的概要设计和软件的详细设计进行阐述,以及对软件的组装及测试的详细叙述,并附加了软件的使用说明书(操作手册)。
程序设计一般由两部分组成:
算法和数据结构,合理选择和实现一个数据结构与处理这些数据结构具有同样的重要性。
以将每个功能分别编译实现,再通过函数包含,调用等方法实现各项功能间的连接为设计思想,并采用将学生当作一个整体,整体类型为结构体,结构体中的域表示学生的属性的这种定义结构作为数据结构。
软件将各个模块的功能分为列菜单、表明结构体、录入、排序、查询、插入及读取等来组成整个程序,实现对宾馆客房的系统管理。
该程序界面友好,易于操作,使操作者和使用者应用更加方便。
关键字:
c++,结构体,查询,插入
序言
随着我国经济的迅速发展,人们的生活水平有了显著的提高,假日经济和旅游经济已成为人们消费的热点。
各地也把旅游业当作本地经济发展的重要经济支柱之要求越来越高,宾馆酒店业的竞争也愈来愈激烈。
如何在激烈的竞争中生从发展,是每一个宾馆酒店必须面临的问题。
对宾馆的经营善起决定作用的是宾馆酒店的服务管理水平面。
如何利用先进的管理手段,提高宾馆的管理水平,以成为宾馆酒店发展的当务之急。
面对住处时代的机遇和挑战,利用科技手段提高企业管理水平是企业管理无疑是一条行之有效的途径。
虽然计算机管理并不是宾馆管理走向成功的关键元索,但它可以最大限度地发挥准确,快捷,高效等作用,对宾馆的服务管理提供强有力的支持。
因此,采用全新的计算机网络和宾馆管理系统,已成为提高宾馆的管理效率,改善服务的水准备的重要手段之一。
在某种意义上,宾馆客房管理方面的信息话已成为现代化宾馆的重要标志。
1.采用类C++语言定义相关数据类型
该程序采用的是结构体类型来所有基本信息,如下所述。
包含的库函数有:
#include
包含的结构体:
typedefstructRoom()
{datatypenumber;
datatypedank;
datatypestate;
datatypeprice;
};typedefstructRoomroom[max1];
包含的类:
typedefclassCustomer()
{public:
Customer();
voidset_name(char*n){strcpy(name,n);}
voidset_ID(char*p){strcpy(ID,p);}
voidset_room_number(intn){room_number=n;}
voidset_day(intd){day=d;}
voidset_prepaid(intp){prepaid=p;}
datatype*get_name(){returnname;}
datatype*get_ID(){returnID;}
datatypeget_room_number(){returnroom_number;}
datatypeget_day(){returnday;}
datatypeget_prepaid(){returnprepaid;}
virtual~Customer();
private:
{datatypename[max2],ID[max3];
datatyperoom_number;
datatypeprepaid;
datatypechange;
datatypeday;
};
}
2.各模块流程图及伪码算法
2.1订房功能
a.流程图
b.伪码算法
voidbook_room()
{
customer[i]=newCustomer;//分配空间
introom_standard,day;
cout<<"请您选择预定房间的标准:
\n";
cout<<"1.单人间/天150元\n2.双人间/天200元\n3.标准间/天300元\n4.总统套房/天600元\n";cin>>room_standard;cout<<"请输入预定天数\n";cin>>day;customer[i]->set_day(day);
switch(room_standard){//根据房间的标准运用case语句表示其一等,两等,三等,四等。
intn;cout<<"住房费用总共为:
"< for(n=60;n<80;n++) {if(room[n].state==0) {cout<<"预定成功★房间号码为: "< customer[i]->set_room_number(room[n].number);break;}}break;} i++;}//住房的顾客数加1 2.2入住登记功能 a.流程图 b.伪码算法 voidcheck_in() {charname1[max2],id1[max3]; intding_or_no,prepaid; cout<<"该顾客订房了吗? (1->订了2->没订)";//定了,则输入其姓名和身份证号。 for(intj=0;j<=i;j++) {if((strcmp(customer[j]->get_name(),name1)==0)&&(strcmp(customer[j]->get_ID(),id1)==0))//查找该顾客的定房信息 { intnum=customer[j]->get_room_number();//取得定房的房间号 cout<<"顾客"< 房间号码为: "< switch(num/100) {//计算的值,运用case语句分别以计算的值来表示不同等级房间的房费,并修改入住状态。 Case=(num/100) prepaid=customer[j]->get_day()*150; customer[j]->set_prepaid(prepaid); cout<<"请收房费"< "< room[num%100-1].state=2;//修改房间状态为入住状态break;}} else//没定则先分配一个空间custoner[i],输入顾客的姓名,身份证号和要预订的天数。 switch(room_standard) //根据房间的等级,用case=room_standard语句算出房费,顾客数加1 {intn; case=room_standard(1.2.3.4) prepaid=day*150;customer[i]->set_prepaid(prepaid);cout<<"请收房费"< \n"; for(n=0/20/40/60;n<20/40/60/80;n++) { if(room[n].state==0){cout<<"入住房间号码为: "< customer[i]->set_room_number(room[n].number)break;}} i++;}}}//顾客数加1 2.3退房结算功能 a.流程图 b.伪码算法 voidcheck_out() { charname2[max2],id2[max3]; intstandard,j,room_number,day1,day2,day; cout<<"请输入要退房的顾客姓名和身份证号码: \n";cin>>name2>>id2; cout<<"请输入该顾客实住天数: \n";cin>>day2; for(j=0;j {if((strcmp(customer[j]->get_name(),name2)==0)&&(strcmp(customer[j]->get_ID(),id2)==0)) {room_number=customer[j]->get_room_number(); standard=room_number/100;day1=customer[j]->get_day();day=day1-day2; switch(standard) //根据(standard=room_number/100)输出顾客的房间号和费用,在看是否超出预订天数,定下顾客是多住还是提前走,确定其最后的费用。 { case=standard cout<<"顾客的房间号是"< 为单人间/双人间/标准间/总统套房,每天150/200/300/600元\n"; cout<<"该顾客预付了房费"< \n"; if(day>0)cout<<"请退给该顾客"< \n"; if(day<0)cout<<"请补收该顾客住房费"<<-day*150/200/300/600<<"元整! \n"; break;cout<<"退房核算清楚,请按1: "; characcount;//将该顾客的房间信息删除,清除空间 cin>>account; if(account=='1') { for(intk=0;k<80;k++) {if(room[k].number==customer[j]->get_room_number())room[k].state=0;}i--; for(;j {customer[j]=customer[j+1];}deletecustomer[i];}}}} 2.4信息查询功能 a.流程图 b.伪码算法 voidinquire() {charinquire_choice; cout<<"房间信息查询请按1,顾客信息查询请按2: "< if(inquire_choice=='1') {intj,k=0;cout<<"下列房间还没人预订,也没人入住: "< for(j=0;j<80;j++) {if(room[j].state==0){if(k%10==0)cout< k=0;cout<<"下列房间已预订: "< for(j=0;j<80;j++) { if(room[j].state==1) {if(k%10==0)cout< k=0;cout<<"下列房间有人入住: "< for(j=0;j<80;j++) { if(room[j].state==2) {if(k%10==0)cout< elseif(inquire_choice=='2') { cout<<"按姓名查询请按1,按身份证查询请按2: "< charinquire_choice;cin>>inquire_choice; if(inquire_choice=='1'/'2')//看程序是按顾客姓名('1')还是身份证号('2')根据情况查询 { charname3[10],id3[19]; cout<<"请输入顾客的姓名: /请输入顾客的身份证号: "< for(intj=0;j<=i;j++) {if(strcmp(customer[j]->get_name()/get_ID(),name3/id3)==0) {cout< \n"; cout<<'\t'<<"房间号为: "< cout<<"\t"<<"预付房费为: "< 3.函数的调用关系图 包含的函数有: Main()/*主函数*/ Initial_room()/*房间信息函数*/ Welcome()/*欢迎函数*/ Enter()/*进入系统函数*/ Book_room()/*定房函数*/ Check_in()/*入住客房函数*/ Check_out()/*退房函数*/ Inquire()/*信息查询函数*/ 4.调试分析 a.调试中遇到的问题以及对问题的解决办法。 在存放房间信息时遇到了一些问题,房间包含的信息较多,在老师的帮助下,我采用了结构体数组structRoomroon[],解决了这个问题。 顾客信息较复杂,我采用了类,并利用了构造函数,成员函数,析构函数(虚函数),来解决。 b.时间复杂度 函数名 时间复杂度 Book_room() O(n) Check_in() O(n) Check_out() O(n) Inquire() O(n) 5.测试结果 5.1进入系统和订房 5.2入住 5.3退房 5.4查询 设计总结 通过三星期的学习以及老师的帮助,运用C++语言设计,我从中受益匪浅,并且对C++语言程序设计这两门课程有了更深一步的认识。 在实习中,我可以把这学期所学的理论知识和实践联系起来,在所要开发的项目中渐渐成长。 虽然我对C++语言知识运用得还不是很熟练,但是相信我也在滴水穿石地成长起来。 发现问题,提出问题,解决问题,使我从不足之处出发,寻找新的学习方向。 在实习中,我设计了一组对宾馆客房进行管理的系统,它基本满足了界面友好,易于操作的要求,因此更利于用户操作方便,运行简易,从而达到对宾馆客房更加有效系统的管理,并且速度更快内容更直接地达到用户所想要的效果。 我一边实习一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。 在实习中我学到了很多,也学到了很多的知识和经验。 希望在以后学校能够为我们提供更多的机会。 参考文献 ineering,InPress,UncorrectedProof,Availableonline10March2006.2[1]初小璐.完全掌握SQLServer2000[M]机械工业出版社,2004 [2]JeraodV.Post.数据库管理系统(英文版.第三版)[美]清华大学出版社,2006.1 [3]张海藩.软件工程导论[M].北京: 清华大学出版社,1998.1 [4]谢希仁.计算机网络(第二版)[M].北京: 电子工业出版社,2003.6 [5]戴志诚,赵国峰.JSP信息化系统建设案例[M].北京: 人民邮电出版社,2006.12 [6]成晓静,毕靖.网页设计三剑客完全学习手册[M].北京: 中国电力出版社,2004.11 [7]赵强.精通JSP编程[M].北京: 电子工业出版社,2006.3 [8]萨师煊,王珊.数据库系统概论[M].北京: 高等教育出版社,2002.2 [9]张海藩,李劲,谢兆阳.SQLServer2000数据库设计与系统管理[M].北京: 清华大学出版社,2000.9 [10]刘禾,蔡锋.Web数据库假设技巧[M].北京: 科技技术出版社,1999.4 [11]徐建波.Internet与Web设计教程[M].北京: 中国矿业大学出版社,2000.12 [12]于书举,许向众.数据库设计与开发教程[M].北京: 电子工业出版社,2003.11 [13]安海忠,李文斌,林旭新.商业网站建设与管理[M].北京: 人民交通出版社,2006.8 [14]T.UmedaandS.Hagiwara.web-baseddatabaseforEPRcentersinsemiconductors[J].BPhysicaB: CondensedMatter,3(7),249-252,2006.3 [15]Yih-LingHedley,MuhammadYounas.Sampling,informationextractionandsummarisationofHiddenWebdatabases[J].Data&KnowledgeEng 致谢 经历了三周的实习,我们获得了许多在课堂上听课而不能获得的知识,首先我们要感谢学校给我们安排的这次的程序设计实习,然后我要感谢老师们对我们热心的指导和帮助,是他们教会了我们怎样解决问题的方法,这样我们的软件设计才会更加顺利地进行,并且充分掌握了设计程序的方法。 我们还要感谢许多同学的帮助,他们的帮助对于我们来说也是必不可少的。 总之,是有了他们的帮助,我们才能顺利地完成软件设计,在这里我们要向他们说一句: 谢谢老师,您辛苦了! 附录源代码 ***************************************************/ #include #include //*********************************************************************************** voidinitial_room(); //初始化80个房间信息 voidwelcome(); //验证用户登陆,登陆成功显示欢迎信息 voidenter(); voidbook_room(); voidcheck_in(); voidcheck_out(); voidinquire(); inti=0; //*********************************************************************************** structRoom { intnumber; intdank; intprice; intstate; }; classCustomer { public: Customer(); voidset_name(char*n){strcpy(name,n);} voidset_ID(char*p){strcpy(ID,p);} voidset_room_number(intn){room_number=n;} voidset_day(intd){day=d;} voidset_prepaid(intp){prepaid=p;} char*get_name(){returnname;} char*get_ID(){returnID;} int get_room_number(){returnroom_number;} int get_day(){returnday;} int get_prepaid(){returnprepaid;} virtual~Customer(); private: charname[10],ID[19]; int room_number; int prepaid; int change; int day; }; Customer: : Customer() { cout<<"请您输入顾客的姓名\n"; cin>>name; cout<<"请您输入顾客的身份证号码\n"; cin>>ID; prepaid=change=day=0; } Customer: : ~Customer() { cout<<"该顾客退房成功! "< } //*********************************************************************************** Roomroom[80]; Customer*customer[80]; voidmain() //程序入口从这里开始运行 { charchoice='1'; initial_room(); //初始化80个房间的信息,分四个等级 welcome(); //验证用户登陆,登陆成功显示欢迎信息 while(choice=='1') { enter(); //根据用户的选择执行不同的功能 cout< cout<<"继续使用本系统请按\"1\",退出请按\"2\"! "; cin>>choice; cout< } } //系统登陆界面*********************************************************************** voidwelcome() //验证用户登陆,登陆成功显示欢迎信息 { charname[4],code[7]; cout<<"请输入用户名和密码(以空格隔开): \n"; cin>>name>>code; while((strcmp(name,"000")! =0)||(strcmp(code,"666666")! =0)) { cout<<"用户名或密码输入有误,请重新输入! \n"; cin>>name>>code; } cout< cout< cout<<" ▲***************************▲\n"; cout<<" △欢迎使用***系统! △\n"; cout<<" ▲***************************
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 宾馆 客房 管理 系统 说明书