




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
宾馆客房管理系统程序设计基础课程设计报告专 业: 电子信息工程 班 级: 11电信2班 姓 名: 学 号: 指导老师: 2012年2月20日报告内容一 课程设计目的二 课程设计题目描述和要求三 功能模块说明四 源文件五 参考书目六 课程设计总结一课程设计目的这次课程设计是检验学习成果的好机会,经过一个学期的学习,对于程序设计的掌握程度如何?能否熟练运用?都将在这份报告中得到体现。也是对于程序设计的系统复习。二课程设计题目描述和要求宾馆客房管理系统要求1、有启动和退出界面2、采用按键或菜单选择方法,选择相应的功能(录入、删除、查询、统计、打印和退出)3、要求系统具有下列功能:录入6条住户资料,包括姓名、性别、身份证号、天数、预交押金、房间号等字段;录入一个宾馆的所有房间号信息,包括房间号、共有床位数、已住客人数等字段(其中已住客人数应计算出来);所录入的数据分别存入两个文本文件中;能根据情况能调出数据。具有对录入数据进行插入功能,即有客人入住,应根据房间中已住的客人数,性别等判断分配房间;具有对录入数据进行删除功能,即当客人退房,应将其房间清空。具有查询功能,能按房间号查询人数;能根据性别查询房间号及可住人数。具有统计功能,能根据天数统计出常住客人数和短期客人数。具有打印功能,即能在文件中和屏幕上输出房间号和对应的客人数。三功能模块说明1.功能综述:该管理系统包括:客房信息的录入、修改、删除、剩余客房信息查询、排序、输出。客房信息可写入文件,也可从文件中读取。客房信息涉及的数据有客房编号、客房类型、定房日期、客房内容(设施)、定房有效期等。 2.结构模块:宾馆客房管理系统录入客房信息保存客房信息修改客房信息删除客房信息查询剩余客房排序剩余客房输出剩余退出系统3.程序演示(1)主页面主页面中显示了exe程序的主要功能(2)客房信息录入演示中录入了编号1的房间信息为标间、日期2月4日、价格100元、以及带有浴室等信息。(3)删除信息通过输入编号2,删除了编号2的房间信息。(4)查询房间通过房间编号查询到了该房间信息,同时还可以通过类型和价格查询到相应房间信息。四源文件#include using namespace std;#include/包含文件流头文件#define BUFSIZE 50class cGuestroom;void FindTheGuestroom(); /查找客房void FindTheGuestroomById(); /按照编号找客房void FindTheGuestroomByType(); /按照类型找客房void FindTheGuestroomByPrice(); /按照价格找客房void DeleteTheGuestroom(); /删除客房void AddTheGuestroom(); /客房添加void ModifyTheGuestroom(); /修改客房 template /template:模板,样板class cNode /节点public: T data; cNode *next;template class tList public: /定义成员函数tList();void Create(); /创建链表bool Empty() const; /判断链表是否为空void Insert(const T e); /从尾部插入一个元素cNode* GetcNode(int i); /返回第i个节点bool Find(const T e); /在链表中查找某个值tList(); /销毁链表,析构 cNode *head; /头节点;template tList:tList() /类的成员函数的实现head=new cNode;head-next=NULL;template void tList:Create() cNode *p;p=head;p-next=NULL;template bool tList:Empty() const return (head-next=NULL);template void tList:Insert(const T e) /insert:插入 cNode *p,*q;p=head;q=new cNode;q-data=e;while(p-next)p=p-next;p-next=q;q-next=NULL;template cNode* tList:GetcNode(int i) /返回第i个节点int k=0; cNode *p;p=head;while(p & knext;+k;return p;template bool tList:Find(const T e) /在链表中查找某个值bool flag=false; cNode *p;p=head-next;while(p)if(p-data=e)flag=true;break;p=p-next;return flag;template tList:tList()cNode *p;while(head)p=head-next;delete head;head=p;class cGuestroompublic:char IDBUFSIZE; /客房编号char TypeBUFSIZE; /客房类型char BookBUFSIZE; /提前定房日期char PriceBUFSIZE; /客房价格char FunctionBUFSIZE; /客房主要内容int StayTime; /入住天数有效期bool flag;/标志cGuestroom()/构造函数初始化memset(ID,0,BUFSIZE);memset(Type,0,BUFSIZE);memset(Book,0,BUFSIZE);memset(Function,0,BUFSIZE);memset(Price,0,BUFSIZE);StayTime=0.0;flag=false; /memset:把char类型转换成ASCII值;void ReadData(tList *tListGue)/读取数据库char bufBUFSIZE; ifstream ifile(Guestroom.txt,ios_base:in);/创建一个输出文件流对象if (!ifile) cerr 读取时打开文件出错! Insert(Guestroom);cout读取数据成功!nn;ifile.close();/关闭文件return;void AddtheGuestroom(tList *tListGue)/ 输入客房函数cGuestroom tempGuestroom; /定义临时客房cout下面开始添加客房信息n;couttempGuestroom.ID; /读入客房编号couttempGuestroom.Type; /读入客房类型couttempGuestroom.Book; /读入定房日期couttempGuestroom.Price; /读入价格couttempGuestroom.Function; /读入主要内容couttempGuestroom.StayTime; /读入入住有效期tempGuestroom.flag=true;tListGue-Insert(tempGuestroom);cout添加成功!n;system(pause); /pause:停顿,终止system(cls);void SaveData(tList *tListGue) /保存数据int i=0;ofstream ofile(Guestroom.txt,ios_base:out);/创建一个输入文件流对象if (!ofile) cerr 保存时打开文件出错! endl; cNode *p;p=tListGue-head-next;while(p) /从内存中读取数据,存到外盘if(p-data.flag)ofilen;ofiledata).IDn;ofiledata).Typen;ofiledata).Bookn;ofiledata).Pricen;ofiledata).Functionn;ofiledata).StayTimenext;cout保存数据成功!n;ofile.close();system(pause);system(cls);return;void ModifytheGuestroom(tList *tListGue) /修改客房信息char idBUFSIZE;coutid; /读取客房编号bool flag=false; cNode *p;p=tListGue-head-next;while(p)if(strcmp(p-data.ID,id)=0 & p-data.flag)flag=true;break;p=p-next;if(flag=true) /显示屏幕cout找到了,该客房的原始信息是:n;coutnn客房编号:data).IDt客房类型:data).Typentt定房日期:data).Bookntt价格:data).Price;coutntt客房的主要内容:data).Functionntt入住有效期:data).StayTime;coutn下面开始修改该客房的信息:n;cGuestroom tempGuestroom; /定义临时客房couttempGuestroom.ID; /读入客房编号couttempGuestroom.Type; /读入客房类型couttempGuestroom.Book; /读入定房日期couttempGuestroom.Price; /读入价格couttempGuestroom.Function; /读入客房的主要内容couttempGuestroom.StayTime; /读入入住有效期tempGuestroom.flag=true;p-data=tempGuestroom;cout修改成功!; coutendl;system(pause);system(cls);return;void DeletetheGuestroom(tList *tListGue) /删除客房信息char idBUFSIZE;coutid; /读取客房编号bool flag=false;int count=0; cNode *p;p=tListGue-head-next;while(p)if(strcmp(p-data.ID,id)=0 & p-data.flag)count+;flag=true;break;p=p-next;if(flag=false) cout对不起,你所查找的客房延长了住房日期!n;/如果不能删else /如果能删 count-;cout找到了,该客房的原始信息是:n;coutnn客房编号:data).IDt客房类型:data).Typentt定房日期:data).Bookntt价格:data).Price;coutntt客房的主要内容:data).Functionntt入住有效期:data).StayTime;coutdata).flag=false;cout该客房的信息删除成功!n; coutendl;system(pause);system(cls);return;void FindtheremainGuestroomById(tList *tListGue)/根据客房编号查找char idBUFSIZE;coutid; /读取客房编号bool flag=false; cNode *p;p=tListGue-head-next;while(p)if(strcmp(p-data.ID,id)=0 & p-data.flag)flag=true;break;p=p-next;if(flag=false) cout对不起,没有该标号的客房!n; /如果找不到else /如果找到了 coutn找到了,该客房的信息是:n;coutnn客房编号:data).IDt客房类型:data).Typentt定房日期:data).Bookntt价格:data).Price;coutntt主要内容:data).Functionntt入住有效期:data).StayTime; coutendl;system(pause);system(cls); /清屏return;void FindtheremainGuestroomByType(tList *tListGue)/根据客房类型查找客房char typeBUFSIZE;couttype; /读取客房类型bool flag=false; cNode *p;p=tListGue-head-next;while(p)if(strcmp(p-data.Type,type)=0 & p-data.flag)flag=true;break;p=p-next;if(flag=false) cout对不起,没有该类型的客房!n; /如果满了else /如果找到了coutn找到了,该客房信息是:n;coutnn客房编号:data).IDt客房类型:data).Typentt定房日期:data).Bookntt价格:data).Price;coutntt客房的主要内容:data).Functionntt入住有效期:data).StayTime; coutendl;system(pause);system(cls);return;void FindtheremainGuestroomByPrice(tList *tListGue)/根据价格查找客房char priceBUFSIZE;coutprice; /读取价格bool flag=false; cNode *p;p=tListGue-head-next;while(p)if(strcmp(p-data.Price,price)=0 & p-data.flag)flag=true;coutnn客房编号:data).IDt客房类型:data).Typentt定房日期:data).Bookntt价格:data).Price;coutntt客房的主要内容:data).Functionntt入住有效期:data).StayTime;p=p-next;if(flag=false) cout对不起,没有你所要求价格的客房!n; /如果找不到coutendl;system(pause);system(cls);return;void FindtheremainGuestroom(tList *tListGue)/查找客房system(cls);while(1)coutnnnn;cout 1:按客房编号查询nn;cout 2:按客房类型查询nn;cout 3:按价格查询nn;cout 4:退出查询nn;coutchoose;switch(choose) /根据用户选择case 1:FindtheremainGuestroomById(tListGue); /按客房编号查询break;case 2:FindtheremainGuestroomByType(tListGue); /按客房类型查询break;case 3:FindtheremainGuestroomByPrice(tListGue); /按价格查询break;case 4:system(cls);return; /退出查询default:break;return;void RanktheremainGuestroom(tList *tListGue) /排序剩余客房cNode *p,*q;cGuestroom remainGuestroom;for (p=tListGue-head-next; p!= NULL; p=p-next)for (q=p; q!= NULL; q=q-next)if (p-data.StayTime q-data.StayTime)remainGuestroom.flag = p-data.flag; strcpy(remainGuestroom.ID, p-data.ID); /复制strcpy(remainGuestroom.Type, p-data.Type);strcpy(remainGuestroom.Book, p-data.Book); strcpy(remainGuestroom.Price, p-data.Price);strcpy(remainGuestroom.Function, p-data.Function);remainGuestroom.StayTime = p-data.StayTime;p-data.flag = q-data.flag; strcpy(p-data.Function, q-data.Function);strcpy(p-data.ID, q-data.ID); strcpy(p-data.Type, q-data.Type);strcpy(p-data.Book, q-data.Book); p-data.StayTime = q-data.StayTime; q-data.flag = remainGuestroom.flag; strcpy(q-data.Function, remainGuestroom.Function);strcpy(q-data.ID, remainGuestroom.ID);strcpy(q-data.Type, remainGuestroom.Type);strcpy(q-data.Book, remainGuestroom.Book); q-data.StayTime = remainGuestroom.StayTime; void OutputtheremainGuestroom(tList *tListGue) /输出剩余房间函数cNode *p;p=tListGue-head-next;while(p)if(p-data.flag)coutnn客房编号:data).IDt客房类型:data).Typentt提前定房日期:data).Bookntt价格:data).Price;coutntt主要内容:data).Functionntt入住有效期:data).StayTime;p=p-next;coutendl;system(pause); /停止system(cls); /清屏return;int main()tList tListGue; tListGue.Create(); /创
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河南省职教高考《语文》核心考点必刷必练试题库(含答案)
- 2025年创意签名测试试题及答案
- 2025年神兽学游泳考试题及答案
- 2025年井下水泵考试题及答案
- 2025年龙岗聘员面试题及答案
- 2025年兰州铁路面试题及答案
- 2025年有趣的七巧板小班标准教案
- 2025年中学招聘面试试题及答案
- 2025年英语点外卖测试题及答案
- 2025年甲卷数学试题及答案
- GB/T 2091-2008工业磷酸
- 365nm下光电管伏安特性曲线
- GB 2758-2012食品安全国家标准发酵酒及其配制酒
- 基因工程 (genetic engineering)课件
- 可爱的四川精编版课件
- 屠宰宰猪场轻工行业双控体系建设文件风险分级管控体系
- 新部编版四年级下册道德与法治全册优秀教学课件(1-12课)
- 2023年中国邮票发行目录
- 鱼骨图分析法(30P PPT)
- 小学生数学思维能力的培养课件
- 化学电源电化学原理
评论
0/150
提交评论