c宾馆住宿管理系统课程设计_第1页
c宾馆住宿管理系统课程设计_第2页
c宾馆住宿管理系统课程设计_第3页
c宾馆住宿管理系统课程设计_第4页
c宾馆住宿管理系统课程设计_第5页
免费预览已结束,剩余32页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c 宾馆住宿管理系统课程设计学习综合运用 C 高级语言课程和其他先修课程的知识,提升分析 和解决实际咨询题的的能力,进一步巩固、加深和拓宽所学的知识;进一步加大结构化程序设计的思想,加深对高级语言差不多语言要素和操纵结构的明白得。全面系统的学习面向对象程序设计的差不多概念、差不多语法和编程方法;独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。把握程序设计中的常用算法和 C 语言的编程技巧和上机调试程序的方法。在参与一系列子项目的实践过程中,提升如何综合运用所学知识解决实际咨询题的能力,以及获得有关项目治理和团队合作等众多方面的具体体会。课程设计的任务按照如下要求,运用C+语言,编

2、写一套可用的较为完善的宾馆住宿治理系统软件(两人分模块合作)对宾馆差不多信息【房间数量、房间类不(标间、单间、套房) 、收费标准等】在适当范畴内自行规定。能够实现预定登记、入住登记、退房结算等功能;房间状态(空房、入住、预定)能够以一定方式直观地表现。能够录入住宿人员信息、运算客户消费总额并生成账单,账单信息存入到磁盘文件当中去。能够相对灵活地查询房间状态、入住情形、空房情形、预订情形等内容。能够产生各类报表,如房间信息、入住信息、消费表单等在磁盘文件当中能够查看它们的信息。三、系统设计方案3.1 系统详细描述3.1.1 系统设计背景随着人民生活水平的提升,旅行出行的人越来越多,宾馆的客流量持

3、续增加,一般的手写登记太过复杂经常显现信息丢失,也不适合现在的节约型社会的进展,宾馆在正常运营中需要对客房资源、顾客信息、退房信息等进行治理,利用客房治理系统及时了解各个环节中信息的变更,有利于提升治理的效率。本项目作为C+课程设计的训练项目提出,目的是为了提升同学们系统的开发,则提升大伙儿的实践能力。因此开发一个符合自身宾馆实际情形的工作平台是十分必要的。3.1.2 系统设计详细信息系统使用对象设定为百康宾馆。 百康宾馆是一家乡镇中小型宾馆,三层建筑,拥有各类房间共20 间。其中一层均为单人间,共9 间,房号 101-109;二层为均双人间,共6 间,房号201-206;三层均为豪华套房,共

4、 5 间,房号 301-305。各类房间均设有电视、橱柜、内网电话、风扇、暖气等基础设施,24 小时热水供应,可淋浴。一层前台处设有便利商店,当时结算,不计入住宿账单。可通过内网电话购买,免费送至房间。按天计费, 标准为单人间 170元/天,双人间 280元/天,豪华套房500 元/天。按小时计费,标准为单人间20元/小时,双人间 30元/小时, 豪华套房 50 元/小时。注:定金数额可在以上标准数额之上,退房结算时多退少补。退房时,室内设施经确认无损坏情形,则不收取房屋设施折损费。3.2 功能模块划分3.2.1 功能模块描述按照任务内容要求及宾馆有关情形等信息,百康宾馆住宿治理系统需要实现查

5、询功能(包括客房总体使用情形查询、已入住客房查询、已预订客房查询、闲置房间信息查询等查询方式) ,订房登记,入住登记,退房结算等四大差不多功能。系统应实现对各类信息的灵活查找, 客户信息的录入、储存与调用,自动结算并生成账单等操作。图3.1功能模块结构图注:我与网络工程专业102001班王维康同学合作,共同完成此次有关于宾馆住宿治理系统的程序设计,我负责实现入住登记模块、退 房结算模;王维康同学负责编写客房查询和订房登记两个模块的有关 内容。3.2.2 输入项以下输入项均为键盘输入:num房间号,intkongxian房间是否闲暇 ,intname20名字定义,char name20ID20

6、身份证号(18位阿拉伯数字),char ID20lianxifangshi15联系方式(11 位阿拉伯数字), char lianxif angshi15yajin押金, intyudingriqi 预定日期(日期均为 8 位阿拉伯数字,格式为年月, longruzhushijian入住日期 ,longtianshu估量天数,intjiezhiriqi 截止日期 , longp是否初始化(0或1), intchose选择主菜单(1,2,3,4 或 5), intt计费方式(1或2), inti 子菜单选择( 1,2,3,4 或 5) (不同模块可能定义不同), inta是否预定过房间(在ruz

7、hudengji()定义的),int3.2.3 输出项房间号,int房间类型,char leixing10价格(元/天) , int价格(元/小时) , int是否闲暇 , int客人姓名, char name20身份证, char ID20联系方式,charlianxifangshi15押金 (元),int预定日期,long入住时刻,long估量天数,int截止日期,long四、系统实现与测试4.1 主菜单模块实现4.1.1 主菜单流程图图4.1主菜单流程图4.1.2主菜单代码void Menu_Display()system(cls);couttt#endl;couttt#endl;cou

8、ttt#endl;couttt#endl;couttt#endl;couttt# endl;couttt#欢迎使用百康宾馆治理系统#2.订房登记#请输入您所需要的功能1.客房查询3.入住登记5.退出感*谢*您*的4.退房#*使*用 #endl;couttt#endl;void chushihua() int i3=1,0,1,k=0;for(;k20;k+)switch(i0) if(k=8)i0+,i2=0;if(k=14)i0+,i2=0;i2+;fstream xieru(宾馆房间信息.txt,ios:out);xieru房间号类型价格是否闲暇 姓名 身份证号联系方式押金 预定日期 入住

9、时刻 天数截止日期 endl;for(int x=0;x20;x+)xieru.close();void main()int p=0;cout是否要初始化房间信息?;cout(是请输入1,否请输入0)p;if(p=1)chushihua();int chose;Menu_Display();coutchose;while(chose!=0)switch(chose)用switch语句判定选择菜单的功能case 1:search_message();break 客房查询case 2:dingfangdengji();break;订房间case 3:ruzhudengji();break;入住房间

10、case 4:tuifang();break;退房case 5:exit(0);default:cout输入错误,请重新输入endl; 提示错误命令couttt# endl;couttt#欢迎使用百康宾馆治理系统#endl;couttt# 请输入您所需要的功能: # endl;couttt#1.客房查询2.订房登记#endl;ndl;couttt#3.入住登记4.退 房#eendl;endl;endl;couttt#couttt#5.退出开始感*4脑出*诵/ 使用情况,#* 的*使*用#couttt#coutchose;Y输入 a值”a= =1while(chose=0)输出“房间信息”输出“

11、提示”endl;输出“提示”坤能蠡维退出程序;输入“房间号段二七二输出“提示”图4.2主菜单同出 的*使*感*谢预订房客 人信息输入“所要填写的信息”4.2入住登记模块实现4.2.1 入住登记流程图信息存储到 磁盘文件中吗房登F输入客人的A O替忍1总图4.3入住登记流程图4.2.2入住登记代码void ruzhudengji()int a,b=0;string name;ifstream liulan(宾馆房间信息.txt,ios:in); 定义输入文件流对象,以输入方式打开磁盘文件旅信if(!liulan)/判定文件是否打开成功cerr文件不能读.endl;return;elseliula

12、n.seekg(117,ios:beg);他输入文件开头以参照位置为基础移动若干字节( beg=begin)int i=0; /存放闲暇房间的号码cout房间号 类型价格(元/天)价格(元/小时)闲暇 endl;while (i20)i+,coutendl;liulan.close();/关闭文件cout (注: 0表示空房间、 1 表示房间已入住、 2表示房间已预订) endl;cout”是否预订过房间? endl;cout”是,请输入1,否,请输入2a;if(a=1)coutvv”请输入房间号:vvendl;cinb;for(i=0;i20;i+)COUtVV”请输入入住日期:; COUt

13、VV”请输入截止日期:; else (coutvv”该房没有被预订过endl; system(pause);else(coutvv”空房间有:vvendl;for(int k=0;k20;k+)(coutendl;coutvv”请输入房间号:; cinb;for(i=0;i20;i+)coutvv”请依次输入以下信息并加以核对(日期格式:年月曰 例如19920503 )endl;cout姓 名: cout身份证号:” cout联系方式: cout押金:; cout天 数: cout入住日期:”婵课程设计IDMW住宿苣理案统印1-居间号类型价格元/天价格元/小时空闲工目0EEHmm. 21021

14、70010X就行团10417B2901班 :沼0166170200期ie17020106170200O宴200201280301加28630020328030cou亚里0205280IV430422i?(i300301sae5。退5 9 Ei5;0量3035Q05。R如d珈5皿皿0;HQ二 Ga日课程设计nuebug侵憎住宿管理系统后您2目423Q30BZ0S29830020&2803001 2 04E回03025035日Q303500E003045005603RE500Q(注;修表示空房间.工表示房间已入住.、N表示房间已预订)层否嘲衰!房间? TE-漕输入L备请输入25耳府输入房间号:10

15、1,输入入住日期二图4.5选择订过房间入住登记界面间已预订)至房间有21EA0电表小空房间 订过房I呢?.王黎军j血 2 51J900506?篁皿I金品示由E7所输入N小时计算方法t= =2信息存储道磁 盘文件当中去天数计算方法图4.8选择未订过房间入住登记输入信息界4.3退房结算模块实现431退房结算流程图,输出本/算结束”结束图4.9退房结算流程图4.3.2退房结算代码void tuifang()int a,b;ifstream fin(宾馆房间信息.txt,ios:in);couta;int c=0,i=0;fin.seekg(117,ios:beg);/您输入文件开头以参照位置为基础移

16、动若干字节( beg=begin)while(i20)b=i;i+;fin.close();cout房间信息为:endl;cout 姓名: 押金 (元) :入住时刻: endl;cout(注:日期输入格式 年月曰 例如20120101 )endl;coutd;int fei;coutt;if(t=2)elseif(fei0)fei=-fei;cout”应对费用为:fei元endl;elsecout押金足够 应返还给您:fei元endl;fstream jsxx(结算信息.txt,ios:out);jsxx消费信息为:endl;if(t=2)jsxx计费方式:按天数计费endl;elsejsxx

17、计费方式:按小时计费endl;jsxx押金足够应返还给您:fei元endl;jsxx.close();fstream xieru(宾馆房间信息.txt,ios:out);/ 生成文件xieru房间号类型价格是否闲暇姓名 身份证号联系方式 押金预定日期入住时刻天数截止日期endl;for(i=0;i20;i+)即训#科斗斗11股股皿升#股股用#科斗股并并斗#科斗股并S.退出感淮谢,您工的我使淳用所示示。请箱入选吼通谙箍A房号式皿虏1&信息4_庭君:押金(元九刻明涵 8 00入住时间 20111221请输入结算日期(格式年月日20100202)图4.10退房结算输入结算房间号后界面图H 九人之堂1

18、己后 第n区-识中it感谢*您的把使婴用 加itttttttttttttttttitttttttitttttttttttttsnititsitsnititstt4tit4titit 请输入选项,4 请输入房孰1.1范暮信邕,十记-记事本文斗g (E) )道看(V)帮助H橄蚪11潴房结算输入日期界面在容用明涵押荃(7L): 800旧,20111225天数计费:7207E而算飘第番入隹时间:20111221图4.13退房结算信息文件五、程序调试中显现的咨询题及解决方法在调试程序过程中频繁显现的咨询题确实是分号的丢失以及书写 程序中一些最差不多的字符要求没有正确的书写,导致一个程序里显 现了大量的错

19、误,在改错时吸取教训为后期的工作节约了专门多时刻, 在整个程序运行时,由于有的函数之定义了,而后面却没有见那个函 数写完,导致整个程序无法运行,开始解决的时候是将此函数全部清 除然后运行整个程序,后来在将函数写完整放进大的程序中去进行运 行。在入住登记调试程序时,房间信息显示显现了无限循环的情形, 通过对语句的分析,发觉是后面的i+书写错误导致的,通过修改后错 误排出了。有时还会显现程序成功运行后,然而在dos界面选择一些功能时显现无限循环,解决的方法是先看所写的循环语句是否显现错误,Debug/宾馆住宿治理系统.exe : fatal error LNK1120: 1 unresolved

20、exter nals,运行错误提示,也总是显现,通过上网查询找出解决方法缘故是 设置的参数有咨询题。六、参考文献1谭浩强.C+程序设计.北京:清华大学出版社.20112郑莉.C+程序设计(第三版).北京:清华大学出版社.20053钞票能.C+程序设计教程.北京:清华大学出版社.20044武俊亮.visual C+课程设计与系统开发案例.北京:清华出版社5黄维通.Visual C+程序设计教程.北京:清华大学出版社.200 5七、附录:程序代码#inClude#inClude/输出流操纵#inClude#inClude / 输入输出文件流using namespaCe std;void sear

21、Ch_message();void dingfangdengji();void ruzhudengji();void tuifang();void all_message();void empty_message();void ruzhixinxi();void dingfangxinxi();int num;Char leixing10;int jiage;int kongxian;Char name20;Char ID20;Char lianxifangshi15;int yajin;long yudingriqi;long ruzhushijian; int tianshu;long j

22、iezhiriqi;void Menu_Display()system(cls);couttt# couttt#endl;couttt#endl;couttt# endl;couttt# ndl;couttt# ndl;couttt# endl;couttt#endl;欢迎使用百康宾馆治理系统#请输入您所需要的功能:1.客房查询3.入住登记5. 退 出感 * 谢 * 您* 的#2.订房登记#e4.退房 #e#使 * 用 #endl;void chushihua()int i3=1,0,1,k=0;for(;k20;k+)switch(i0)if(k=8)i0+,i2=0;if(k=14)i0+

23、,i2=0;i2+;fstream xieru(宾馆房间信息.txt,ios:out);身份证天数xieru房间号类型价格是否闲暇 姓名号联系方式押金 预定日期 入住时刻截止日期 endl;for(int x=0;x20;x+)xieru.close();void main()H.int p=0;cout是否要初始化房间信息?cout(是请输入1,否请输入0)p;if(p=1)chushihua();int chose;Menu_Display();coutchose;while(chose!=0)switch(chose)用switch语句判定选择菜单的功能case 1:search_mes

24、sage();break 客房查询case 2:dingfangdengji();break;订房间case 3:ruzhudengji();break;入住房间case 4:tuifang();break;退房case 5:exit(0);default:cout输入错误,请重新输入endl; 提示错误命令couttt# endl;couttt#欢迎使用百康宾馆治理系统#endl;couttt# 请输入您所需要的功能: # endl;ndl;couttt#1.客房查询2.订房登记#ecouttt#3.入住登记4.退房#endl;couttt#5. 退 出#endl; couttt# 感 *

25、谢 * 您 * 的 * 使 * 用 # endl;couttt# endl;coutchose;while(chose=0) cout输入错误,按任意键退出程序:endl;exit(0);void ruzhudengji()int a,b=0;string name;ifstream liulan(宾馆房间信息.txt,ios:in);定义输入文件流对象,以输入方式打开磁盘文件旅信/判定文件是否打开成if(!liulan) cerr文件不能读.endl;return;elseliulan.seekg(117,ios:beg);他输入文件开头以参照位置为基础移动若干字节( beg=begin)i

26、nt i=0; /存放闲暇房间的号码cout房间号 类型价格(元/天)价格(元/小时)闲暇 endl;while (i20)i+,coutendl;liulan.close();/关闭文件cout (注: 0表示空房间、 1 表示房间已入住、 2表示房间已预订) endl;cout”是否预订过房间? endl;cout”是,请输入1,否,请输入2a;if(a=1)cout”请输入房间号:b;for(i=0;i20;i+)cout请输入入住日期:coutvv”请输入截止日期 else coutvv”该房没有被预订过endl; system(pause);elsecoutvv”空房间有:vvend

27、l;for(int k=0;k20;k+)(coutendl;COUtVV”请输入房间号:;cinb;for(i=0;i20;i+)COUtVV”请依次输入以下信息并加以核对(日期格式:年月日 例如19920503 )endl;coutvv 姓 名:”;COUtVV”身份证号: coutvv”联系方式: coutvv”押金:; COUtVV 天 数: COUtVV”入住日期: ofstream xieru(宾馆房间信息.txt,ios:out);写回文件xieru房间号类型价格是否闲暇 姓名身份证号联系方式 押金 预定日期 入住时刻 天数 截止日期 endl;for(i=0;i20;i+)xi

28、eru.close();cout登记成功endl;void tuifang()int a,b;ifstream fin( 宾馆房间信息 .txt,ios:in);couta;int c=0,i=0;fin.seekg(117,ios:beg);/您输入文件开头以参照位置为基础移动若干字节( beg=begin)while(i20)b=i;i+;fin.close(); coutvv”房间信息为:endl;cout姓名:押金(元):入住时刻:endl;cout(a:日期输入格式 年月日 例如20120101 )endl; coutvv”请输结算入日期:int d;cind;int fei;3成”

29、按小时/天数计费(小时输入1,天数输入2):;int t;cint;if(t=2)elseif(fei0)(fei=-fei;coutvv”应对费用为:fei元,vvendl;else(coutvv”押金足够 应返还给您:fei元Hendl;fstream jsxx(结算信息.txt”,ios:out);jsxxvv”消费信息为:endl;if(t=2)jsxxvv”计费方式:按天数计费”vvendl;elsejsxxvv”计费方式:按小时计费endl;jsxx押金足够 应返还给您:“vvfeivv元vvend” jsxx.closeQ;fstream xieru(宾馆房间信息.txt,ios

30、:out);/ 生成文件xieru房间号类型价格是否闲暇姓名 身份证号联系方式押金 预定日期 入住时刻 天数截止日期 endl;for(i=0;i20;i+)xieru.close();system(pause);/对房间信息进行查void search_message()询的函数void all_message();void empty_message();void ruzhuxinxi();void dingfangxinxi();t%endl;couttt%endl;couttt%endl;couttt%欢迎使用百康宾馆治理系统请输入您要选择的功能1.房间应用情形2.空房间信息%endl

31、;couttt%3.入住信息4.订房信息%endl;couttt%5 返回主菜单%endl;couttt% 感 * 谢 * 您 * 的 * 使 * 用 %endl;t% %endl;int i;couti;while(i!=5)switch(i)/用 switch 语句判定选择查询的方法case 1:all_message();break;case 2:empty_message();break;case 3:ruzhuxinxi();break;case 4:dingfangxinxi();break;default:cout输入错误,请重新输入endl; 提示错误命令t% %endl;co

32、uttt% 欢迎使用百康宾馆治理系统%endl;couttt% 请输入您要选择的功能%endl;couttt%1.房间应用情形2.空房间信息%endl;couttt%3.入住信息4.订房信息%endl; couttt%5 返回主菜单%endl;couttt% 感 * 谢 * 您 * 的 * 使 * 用 %endl;t% %endl;couti;system(pause);system(cls);void all_message()int i=0;ifstream liulan(宾馆房间信息.txt,ios:in);用输入输出流自定义信息文件if(! liulan)/判定文件是否打开成cerr文件不能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论