• 414.50 KB
  • 2022-04-21 发布

c++程序设计课程设计--酒店客房预订管理——说明书

  • 36页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
C++程序设计课程设计C++程序设计课程设计酒店客房预订管理指导教师:****专业班级:自动化**班设计者:**、**、**、**设计时间:2011年**月第36页共36页nC++程序设计课程设计目录一需求分析········································3二组员分工········································4三系统总框图······································4四系统软硬件环境··································4五模块设计分析····································5六函数定义及说明··································12七使用说明········································18第36页共36页nC++程序设计课程设计八程序源代码······································21九结束语··········································35十参考文献········································35酒店客房预订管理第36页共36页nC++程序设计课程设计一需求分析1.1综述随着人类社会进入信息时代,计算机越来越多地活跃在社会各个领域:管理,网络,计算,控制,多媒体等。并且在某些方面成为不可缺少的工具,尤其在管理方面,管理软件的出现使大量繁琐复杂的问题变得简单易行。现今酒店宾馆的规模不断扩大,客户数量急剧增加,有关客户的各种信息也成倍增长,尤其是大量的客房预订信息。面对庞大的信息量,需要有客户信息管理系统来提高客户管理工作的效率。通过这样的系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。当前许多酒店正在逐步完善客户信息管理工作,需要一个能满足内部管理需求,提高管理效率的应用系统进行内部管理。许多宾馆经过多年的发展,规模不断扩大,客流量成倍增长,积累了大量的客户信息急需进行统一管理以防信息的流失。因此,许多宾馆需要一个功能全面的客户信息管理系统来进行管理,以使管理客户信息的工作在该系统的配合下更加高效和便捷。1.2系统功能分析酒店客房预订信息管理系统是一个对客户全方面管理的程序。该客房预订信息管理系统是在VisualC++6.0平台下设计开发,以TXT文档为后台数据库,采用面向对象的语言开发而成,实现对客户预订信息的基本管理,包括客房信息、客户信息的添加,修改和查询。该系统充分考虑用户的操作简便性,实现快捷操作。它有以下几个功能:(1)客房设置:可以添加新客房,修改客房描述(房间等级,内部设施等),删除客房。(2)客户设置:可以添加新客户,修改客户信息,删除已退订客户等。可准确了解每一客户的预订信息。(3)房间预订情况查询:可按客户号、房号查询。方便实用,在众多房间、客户中准确查询到某一个房间或客户。二组员分工封面设计:**第36页共36页nC++程序设计课程设计程序设计:**、**、***、***程序勘误:**、**报告编写:**、***、***小组组长:**三系统总框图设计一个程序来实现酒店客房预订的管理,该程序应该包含信息录入、输出、修改、删除和查询等功能模块。本程序各功能模块结构总框图如下:四系统软硬件环境WindowsXP、VisualC++6.0、CPU(pentium42.4Hz)、内存(256MB)、硬盘(80G)五模块设计分析5.1模块设计思路分析第36页共36页nC++程序设计课程设计本程序共有五大功能模块:新建模块、更改模块、删除模块、查询模块和显示模块。各模块在功能上互相补充,在程序中互相融合,才能实现一个具有多种功能的管理系统。(1)新建模块:实现所有客房、订房客户的录入工作。(2)更改模块:提供数据的修改,包括客户姓名、客房描述等。(3)删除模块:将已退订的客户从数据库中删除。(4)查询模块:本程序最重要的模块,也是本系统的精髓所在。通过房间号或客户号实现客房的预订情况以及客户入住情况的查询工作。(5)显示模块:显示所有客房、订房客户的基本信息。在程序设计上,我们的目标就是先实现单个模块,进而实现整个程序。本程序正是本着这种思想,一步一步,有条不紊的进行规划与设计。本程序通过四个类:客户类、客户库类、客房类、客房库类,并通过主函数调用类函数实现了这五大功能模块的功能。5.2五大功能模块的实现5.2.1客户类:classcustomer{private:inttag;//删除标记1:已删0:未删intno;//客户编号charname[10];//客户姓名intborbook[Maxbor];//所订房间public:customer(){}char*getname(){returnname;}//获取姓名intgettag(){returntag;}//获取删除标记intgetno(){returnno;}//获取客户编号voidsetname(charna[])//设置姓名{strcpy(name,na);}voiddelbook(){tag=1;}//设置删除标记1:已删0:未删voidaddcustomer(intn,char*na)//增加客户{tag=0;no=n;strcpy(name,na);第36页共36页nC++程序设计课程设计for(inti=0;i>choice;switch(choice){case'1':cout<<"============n输入客户编号:";cin>>customerid;cout<<"输入客房编号:";cin>>bookid;r=customerDB.query(customerid);//按编号查找if(NULL==r){cout<<"不存在的客户,不能预订"<borrowbook()==0){第36页共36页nC++程序设计课程设计cout<<"该客房已预订,不能预订"<borrowbook(b->getno());break;case'2':cout<<"============n输入客户编号:";cin>>customerid;cout<<"输入客房编号:";cin>>bookid;r=customerDB.query(customerid);if(r==NULL){cout<<"不存在的客户,不能退订"<retbook();r->retbook(b->getno());break;case'3':BookDB.bookdata();break;case'4':customerDB.customerdata();break;default:cout<<"正在写入数据库......谢谢使用!";}}}第36页共36页nC++程序设计课程设计6.2客户库函数voidRDatabase::customerdata(){charchoice;charrname[20];intcustomerid;customer*r;while(choice!='0'){cout<<"nnttt客户信息nnnttt1新增nnttt2更改nnttt3删除nnttt4查找nnttt5显示nnttt6全删nnttt0返回"<>choice;switch(choice){case'1':cout<<"输入客户编号:";cin>>customerid;cout<<"输入客户姓名:";cin>>rname;addcustomer(customerid,rname);break;case'2':cout<<"输入客户编号:";cin>>customerid;r=query(customerid);if(r==NULL){cout<<"该客户不存在"<>rname;r->setname(rname);break;第36页共36页nC++程序设计课程设计case'3':cout<<"输入客户编号:";cin>>customerid;r=query(customerid);if(r==NULL){cout<<"该客户不存在"<delbook();break;case'4':cout<<"输入客户编号:";cin>>customerid;r=query(customerid);if(r==NULL){cout<<"该客户不存在"<disp();break;case'5':disp();break;case'6':clear();break;default:cout<<"正在返回主界面...";break;}}}6.3客房库函数voidBDatabase::bookdata(){第36页共36页nC++程序设计课程设计charchoice;charbname[40];intbookid;Book*b;while(choice!='0'){cout<<"nnnttt客房信息"<>choice;switch(choice){case'1':cout<<"输入客房编号:";cin>>bookid;cout<<"输入客房描述:";cin>>bname;addbook(bookid,bname);break;case'2':cout<<"输入客房编号:";cin>>bookid;b=query(bookid);if(b==NULL){cout<<"该客房不存在"<>bname;b->setname(bname);break;case'3':cout<<"输入客房编号:";第36页共36页nC++程序设计课程设计cin>>bookid;b=query(bookid);if(b==NULL){cout<<"该客房不存在"<delbook();break;case'4':cout<<"输入客房编号:";cin>>bookid;b=query(bookid);if(b==NULL){cout<<"该客房不存在"<disp();break;case'5':disp();break;case'6':clear();break;default:cout<<"正在返回主界面...";}}}七使用说明(1)程序主界面:界面简洁明了,一目了然,便于操作。选择数字0-4进入相应功能。第36页共36页nC++程序设计课程设计(2)客户信息:主界面选择4进入客户信息管理菜单。1.新增:系统提示输入客户号码、姓名等信息,按要求录入即可。2.更改:系统提示输入要更改的客户号,输入后即可更改该客户的个人信息。3.删除:系统提示输入要删除的客户号,输入后即可删除该客户。4.查询:系统提示输入要查询的客户号,输入后即可查看该客户的订房信息。5.显示:显示所有预订客户的个人信息以及预订房号。6.全删:删除所有客户。0.返回:返回主界面。(3)客房信息:主界面选择3进入客房信息管理菜单。第36页共36页nC++程序设计课程设计1.新增:系统提示输入房间号、房间描述等信息,按要求录入即可。2.更改:系统提示输入要更改的房间号,输入后即可更改该房间的描述信息。3.删除:系统提示输入要删除的房间号,输入后即可删除该房间。4.查询:系统提示输入要查询的房间号,输入后即可查看该房间的预订情况。5.显示:显示所有房间的描述信息以及预订情况。6.全删:删除所有房间。0.返回:返回主界面。(4)订房:主界面选择1进入订房功能。(5)退房:主界面选择2进入退房功能。第36页共36页nC++程序设计课程设计(6)退出:主界面选择0退出程序并保存数据库。第36页共36页nC++程序设计课程设计八程序源代码#include#include#include#include//输入/输出文件流类usingnamespacestd;constintMaxr=100;//最多的客户constintMaxb=100;//最多的客房constintMaxbor=5;//每位客户最多预订五间客房//客户类,实现对客户的信息的描述classcustomer{private:inttag;//删除标记1:已删0:未删intno;//客户编号charname[10];//客户姓名intborbook[Maxbor];//所订房间public:customer(){}char*getname(){returnname;}//获取姓名intgettag(){returntag;}//获取删除标记intgetno(){returnno;}//获取客户编号voidsetname(charna[])//设置姓名{strcpy(name,na);}voiddelbook(){tag=1;}//设置删除标记1:已删0:未删voidaddcustomer(intn,char*na)//增加客户{tag=0;第36页共36页nC++程序设计课程设计no=n;strcpy(name,na);for(inti=0;i>choice;switch(choice){case'1':cout<<"输入客户编号:";cin>>customerid;cout<<"输入客户姓名:";cin>>rname;addcustomer(customerid,rname);break;case'2':cout<<"输入客户编号:";cin>>customerid;r=query(customerid);if(r==NULL){cout<<"该客户不存在"<>rname;r->setname(rname);第36页共36页nC++程序设计课程设计break;case'3':cout<<"输入客户编号:";cin>>customerid;r=query(customerid);if(r==NULL){cout<<"该客户不存在"<delbook();break;case'4':cout<<"输入客户编号:";cin>>customerid;r=query(customerid);if(r==NULL){cout<<"该客户不存在"<disp();break;case'5':disp();break;case'6':clear();break;default:cout<<"正在返回主界面...";break;}}}第36页共36页nC++程序设计课程设计//客房类,实现对客房的描述,如客房等级,有无宽带等classBook{private:inttag;//删除标记1:已删0:未删intno;//客房编号charname[20];//客房描述intonshelf;//是否预订1:空房2:已预订public:Book(){}char*getname(){returnname;}//获取姓名intgetno(){returnno;}//获取客房编号intgettag(){returntag;}//获取删除标记voidsetname(charna[])//设置客房描述{strcpy(name,na);}voiddelbook(){tag=1;}//删除客房voidaddbook(intn,char*na)//增加客房{tag=0;no=n;strcpy(name,na);onshelf=1;}intborrowbook()//预订操作{if(onshelf==1){onshelf=0;return1;}第36页共36页nC++程序设计课程设计return0;}voidretbook()//退订操作{onshelf=1;}voiddisp()//输出客房{cout<>choice;switch(choice){case'1':cout<<"输入客房编号:";cin>>bookid;cout<<"输入客房描述:";cin>>bname;addbook(bookid,bname);break;case'2':cout<<"输入客房编号:";cin>>bookid;b=query(bookid);if(b==NULL)第36页共36页nC++程序设计课程设计{cout<<"该客房不存在"<>bname;b->setname(bname);break;case'3':cout<<"输入客房编号:";cin>>bookid;b=query(bookid);if(b==NULL){cout<<"该客房不存在"<delbook();break;case'4':cout<<"输入客房编号:";cin>>bookid;b=query(bookid);if(b==NULL){cout<<"该客房不存在"<disp();break;case'5':disp();break;case'6':clear();第36页共36页nC++程序设计课程设计break;default:cout<<"正在返回主界面...";}}}//main()函数的实现,程序的主界面的引导voidmain(){charchoice;intbookid,customerid;RDatabasecustomerDB;customer*r;BDatabaseBookDB;Book*b;while(choice!='0'){cout<>choice;switch(choice){case'1':cout<<"============n输入客户编号:";cin>>customerid;cout<<"输入客房编号:";cin>>bookid;r=customerDB.query(customerid);//按编号查找if(r==NULL){第36页共36页nC++程序设计课程设计cout<<"不存在的客户,不能预订"<borrowbook()==0){cout<<"该客房已预订,不能预订"<borrowbook(b->getno());break;case'2':cout<<"============n输入客户编号:";cin>>customerid;cout<<"输入客房编号:";cin>>bookid;r=customerDB.query(customerid);if(r==NULL){cout<<"不存在的客户,不能退订"<retbook();r->retbook(b->getno());第36页共36页nC++程序设计课程设计break;case'3':BookDB.bookdata();break;case'4':customerDB.customerdata();break;default:cout<<"正在写入数据库......谢谢使用!";}}}九结束语第36页共36页nC++程序设计课程设计此次c++课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。根据C++课程所学的概念、理论和方法,按照C++程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C++语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。十参考文献[1].刘新民,蔡琼,白康生编著《Visual  C++6.0程序设计》清华大学出版社2004。[2].郭胜,夏邦贵编著《Visual  C++数据库开发入门与范例解析》机械工业出版社            2004.1。[3].王彬华,李建华编著《Visual  C++实例教程》电子科技大学出版社2004.4。[4].刘韬,骆娟,何旭洪编著《Visual  C++数据库系统开发实例导航(第二版)》人民邮电出版社2003.8。[5].孙越编著《VisualC++数据库开发自学教程》人民邮电出版社2003.7。第36页共36页

相关文档