欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c++-宾馆客房管理系统(共41页).doc

    • 资源ID:13482421       资源大小:525.50KB        全文页数:41页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c++-宾馆客房管理系统(共41页).doc

    精选优质文档-倾情为你奉上面向对象的课 程 设 计学院: 数学学院 专业: 数学与应用数学 班级: 2010 XXX 学号:XXX 姓名: XXXX 学号: XXX 姓名: XXXX 课程设计周次: 第19-20 起始日期:2012.6.25至 2012.7.6 目录1. c+课程设计成绩评定表I页2. c+课程设计任务书II页3. 程序一基本框架结构图.1页4. 程序一设计说明书.2页5. 程序一源代码清单.11页6. 程序一课程设计总结.25页7. 程序二基本框架结构图.26页8. 程序二设计说明书.27页9. 程序二源代码清单.32页10. 程序二课程设计总结.35页专心-专注-专业课程设计成绩评定表班级XXX学号XXX姓名XXXXXXXX项目组宾馆客房管理系统项目组长XXXXXXX项目组组员XXX XXX本人工作简介:本人主要负责3.程序基本框架结构图和4.程序设计说明书部分,对程序的设计结构及设计理念做了深入的思考和研究,为做好本次课程设计做出大量努力。组长评语:组长及组员都极其负责的对待自己的任务,用心去思考程序思路,认真完成每一个步骤,解决每一个难点及错误,真诚的对待这次课程设计,最终完成任务。 成绩评定标准ABCDE报告完成情况很好好比较好一般不好纪律表现很好好比较好一般不好程序功能性强较强一般较弱弱界面美观性很好好一般较差不好程序可操作性很好好一般较差不好答辩表现很好好一般较差不好所起作用程度80%以上60%以上60%以下最后成绩优秀A>=5C<=0 良好A>=3C<=0中等B>=2C>=4及格A=0B=0C>=3不及格A=0B=0C<=2E>=1 2010 xxx 班c+语言课程设计任务书一、设计目的通过本次课程设计使学生进一步加深对c+语言课程内容的理解,初步掌握一般应用程序的开发方法和步骤,进一步了解与掌握高级语言的编程方法和技巧,提高学生用高级语言解决实际问题的能力。二、设计要求1、认真查阅参考书、资料2、遵守课程设计时间安排3、按时上机,认真调试程序4、认真完成课程设计报告三、课设报告装订内容及顺序1、课程设计封皮2、目录3、课程设计成绩评定表4、课程设计任务书5、程序基本框架图 6、程序设计说明书7、源代码清单8、课设总结与心得四、设计题目l XXX(此处填写所选题目)五、时间安排(从 6月25日到 7 月 6 日 )1、查阅资料及程序设计(3天)2、程序编制及调试(7天)3、成绩评定(0.5天)3、打印报告(0.5天)六、参考文献1、c+语音基础教程吕凤翥编著. 清华大学出版社2、c+ Primer Plus(美)Stephen Prata.人民邮电出版社3、C+程序设计教程(美)H.M.Deitel P.J. Deitel.清华大学出版社4、C+时尚编程百例网冠科技编.机械工业出版社程序基本框架结构图程序开始,对80个房间初始化调用welcome函数,对登录用户进行验证通过验证了吗 否显示系统信息,进入系统界面退房信息系统入住信息系统查询信息系统订房信息系统显示操作菜单,选择服务类别 是客户信息查询房间信息查询退房结算系统客户信息系统费用信息管理是否订房信息房间标准信息客户身份信息程序设计说明书摘 要: 本文论述了宾馆客房管理系统程序编写过程。针对系统的功能实现展开叙述,该系统包括客房查询、客户信息查询、用户入住管理、用户退房管理等功能;最后介绍了软件测试的方法、必要性和调试的过程中遇到的一些问题及解决方案。该系统采用基于C+运行环境。关键词:宾馆客房管理,C+,源程序代码。1 前言随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。各类行业在日常经营管理各个方面也在悄悄地走向规范化和网络化。客房管理的信息化程度体现在将计算机及网络与信息技术应用于经营与管理,以现代化工具代替传统手工作业。无疑,使用网络信息化管理使客房管理更先进、更高效、更科学,信息交流更迅速。2 目的和意义运用所学知识设计宾馆客房管理系统,完成课程设计,在此基础上对以前所学知识进行系统的学习和掌握。通过这次课程设计使我对所学知识进行一次全面检验,查漏补缺,为以后的学习提供参考。3 系统主要功能宾馆的客房信息包括客房号、客房类型、客房价格、空闲情况、客人姓名、客人身份证号、入住时间、退房时间,预付费用等信息。系统以菜单方式工作,使之能提供以下功能:l 客房信息的录入功能l 客人入住登记l 客人退房结算l 客房信息浏览功能,浏览全部客房的信息 l 客房信息查询:查询空房间情况、按姓名或房间号查询l 客房信息的删除、修改功能4 系统的实现和核心模块的描述4.1 登录模块及执行图系统登录模块用于验证会员登录系统时输入的会员名、密码以及身份是否正确,只有合法的用户才能进入系统。进入系统后会有管理选择菜单供客户选择服务。4.2 订房信息系统模块及执行图 客户进入订房系统后会有客户姓名及客户身份证号码录入界面,正确无误之后会有预定房间标准和费用选择界面及预订客房时间和住房费用。4.3 入住信息系统模块及执行图客户能够通过身份验证进入入住系统,会有客户是否已经预定房间选择,之后会显示客户入住时间、房间号码及收费系统。选择1.订了界面选择2.没界面4.4 退房信息系统模块及执行图 客户能够通过身份验证进入退房系统,则会显示客户入住房间号、房间标准、入住时间及费用结算。4.5 查询信息系统模块及执行图客户能够通过身份验证进入查询系统,则会显示选择房间信息查询或客户信息查询。房间系统查询显示空房,已经预定过的房间及已入住房间。客户信息查询显示客户入住时间,房间号码等。按房间信息查询界面按顾客信息查询界面5 软件测试每个软件产品都是不可避免的存在缺陷,所以在系统设计基本完成后,我们就必须对设计的作品从各方面进行测试,使作品趋于完善,增加作品的稳定性。测试本身的目的是尽可能多地暴露程序中的错误,但是,发现错误的最终目的还是为了改正错误。在成功的测试之后,还必须进一步诊断和改正程序中的错误,这就是调试的任务。调试的过程由两个步骤组成,它从表示程序中存在错误的某些迹象开始。首先确定错误的准确位置,也就是找出是哪个模块或哪些接口引起的错误;然后,仔细研究这段代码以确定问题的原因,并设法改正错误。通过不断地测试、调试,解决了系统中一系列错误所在,如:界面美化问题,控件使用问题,代码出错问题,数据连接与数据正确显示等,使系统功能更加完善,系统更加强大有力。总的来说,本系统能基本实现预计的功能,但是由于能力有限,还有一些功能尚未实现,有待解决。源代码清单#include<iostream.h>#include<string.h>/*void initial_room(); /初始化80个房间信息void welcome(); /验证用户登陆,登陆成功显示欢迎信息void enter();void book_room();void check_in();void check_out();void inquire();int i=0;/*struct Roomint number;int dank;int price;int state;class Customerpublic:Customer();void set_name(char *n)strcpy(name,n);void set_ID(char *p)strcpy(ID,p);void set_room_number(int n)room_number=n;void set_day(int d)day=d;void set_prepaid(int p)prepaid=p;char *get_name()return name;char *get_ID()return ID;int get_room_number()return room_number;int get_day()return day;int get_prepaid()return prepaid;virtual Customer();private:char name10,ID19;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<<"该顾客退房成功!"<<endl;/*Room room80;Customer *customer80;void main() /程序入口从这里开始运行char choice='1'initial_room(); /初始化80个房间的信息,分四个等级welcome(); /验证用户登陆,登陆成功显示欢迎信息while(choice='1')enter(); /根据用户的选择执行不同的功能cout<<endl;cout<<"继续使用本系统请按"1",退出请按"2"! "cin>>choice;cout<<endl;/系统登陆界面*void welcome() /验证用户登陆,登陆成功显示欢迎信息char name4,code7;cout<<"请输入用户名和密码(以空格隔开):n" cin>>name>>code;while(strcmp(name,"000")!=0)|(strcmp(code,"")!=0)cout<<"用户名或密码输入有误,请重新输入!n"cin>>name>>code;cout<<endl;cout<<endl;cout<<" *n" cout<<" 欢迎使用*系统!n" cout<<" *n" cout<<endl;/系统入口*void enter()int kind_of_service;cout<<"请选择服务类别:订房、入住、退房还是查询? n" cout<<" 1->定房 2->入住 3->退房 4->查询: "cin>>kind_of_service;if(kind_of_service>4) | (kind_of_service<1)cout<<"您的输入有误,请重试!n" cin>>kind_of_service;elseswitch(kind_of_service)case 1: book_room();break;case 2: check_in();break;case 3: check_out();break;case 4: inquire();break;/订房实现*void book_room()customeri=new Customer;int room_standard,day;cout<<"请您选择预定房间的标准:n" cout<<"1.单人间/天150元n2.双人间/天200元n3.标准间/天300元n4.总统套房/天600元n" cin>>room_standard;cout<<"请输入预定天数n" cin>>day;customeri->set_day(day);switch(room_standard)int n;case 1:cout<<"住房费用总共为: "<<day*150<<"元n" /计算住房费用for(n=0;n<20;n+) /从第一个级别的房间中查找一个空闲的房间if(roomn.state=0) /state=0表示该住房没有被预定的cout<<"预定成功房间号码为: "<<roomn.number<<endl;roomn.state=1;customeri->set_room_number(roomn.number);break;break;case 2:cout<<"住房费用总共为: "<<day*200<<" 元n" for(n=20;n<40;n+)if(roomn.state=0)cout<<"预定成功房间号码为: "<<roomn.number<<endl;roomn.state=1;customeri->set_room_number(roomn.number);break;break;case 3:cout<<"住房费用总共为: "<<day*300<<" 元n" for(n=40;n<60;n+)if(roomn.state=0)cout<<"预定成功房间号码为: "<<roomn.number<<endl;roomn.state=1;customeri->set_room_number(roomn.number);break;break;case 4:cout<<"住房费用总共为: "<<day*600<<"元n" for(n=60;n<80;n+)if(roomn.state=0)cout<<"预定成功房间号码为: "<<roomn.number<<endl;roomn.state=1;customeri->set_room_number(roomn.number);break;break;i+; /住房的顾客数加1/入住登记*void check_in()char name110,id119;int ding_or_no,prepaid;cout<<"该顾客订房了吗? (1->订了 2->没订) "cin>>ding_or_no;if(ding_or_no=1)cout<<"请输入顾客的姓名:"<<endl;cin>>name1;cout<<"请输入顾客的身份证号码:"<<endl;cin>>id1;for(int j=0;j<=i;j+)if(strcmp(customerj->get_name(),name1)=0)&&(strcmp(customerj->get_ID(),id1)=0) /查找该顾客的定房信息int num=customerj->get_room_number(); /取得定房的房间号cout<<"顾客"<<name1<<"今天入住本宾馆! 房间号码为: "<<num<<endl;switch(num/100)case 6:prepaid=customerj->get_day()*150;customerj->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!"<<endl; /开始收费roomnum%100-1.state=2; /修改房间状态为入住状态break;case 7:prepaid=customerj->get_day()*200;customerj->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!"<<endl;room19+num%100.state=2;break;case 8:prepaid=customerj->get_day()*300;customerj->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!"<<endl;room39+num%100.state=2;break;case 9:prepaid=customerj->get_day()*600;customerj->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!"<<endl;room59+num%100.state=2;break;break;elsecustomeri=new Customer;int room_standard,day;cout<<"请您选择预定房间的标准:n" cout<<"1.单人间/天150元n2.双人间/天200元n3.标准间/天300元n4.总统套房/天600元n" cin>>room_standard;cout<<"请输入住宿天数n" cin>>day;customeri->set_day(day);switch(room_standard)int n;case 1:prepaid=day*150;customeri->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!n" for(n=0;n<20;n+)if(roomn.state=0)cout<<"入住房间号码为: "<<roomn.number<<endl;roomn.state=2;customeri->set_room_number(roomn.number);break;break;case 2:prepaid=day*200;customeri->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!n" for(n=20;n<40;n+)if(roomn.state=0)cout<<"入住房间号码为: "<<roomn.number<<endl;roomn.state=2;customeri->set_room_number(roomn.number);break;break;case 3:prepaid=day*300;customeri->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!n" for(n=40;n<60;n+)if(roomn.state=0)cout<<"入住房间号码为: "<<roomn.number<<endl;roomn.state=2;customeri->set_room_number(roomn.number);break;break;case 4:prepaid=day*600;customeri->set_prepaid(prepaid);cout<<"请收房费 "<<prepaid<<"元整!n" for(n=60;n<80;n+)if(roomn.state=0)cout<<"入住房间号码为: "<<roomn.number<<endl;roomn.state=2;customeri->set_room_number(roomn.number);break;break;i+;/退房结算*void check_out()char name210,id219;int standard,j,room_number,day1,day2,day;cout<<"请输入要退房的顾客姓名和身份证号码:n"cin>>name2>>id2;cout<<"请输入该顾客实住天数:n" cin>>day2;for(j=0;j<i;j+)if(strcmp(customerj->get_name(),name2)=0)&&(strcmp(customerj->get_ID(),id2)=0)room_number=customerj->get_room_number();standard=room_number/100;day1=customerj->get_day();day=day1-day2;switch(standard)case 6:cout<<"顾客的房间号是"<<room_number<<" :为单人间,每天150元n"cout<<"该顾客预付了房费 "<<customerj->get_prepaid()<<"元, 实际消费 "<<day2*150<<"元整!n"cout<<endl;if(day>0)cout<<"请退给该顾客 "<<day*150<<" 元整!n" if(day<0)cout<<"请补收该顾客住房费 "<<-day*150<<" 元整!n"break;case 7:cout<<"顾客的房间号是"<<room_number<<" :为单人间,每天200元n"cout<<"该顾客预付了房费 "<<customerj->get_prepaid()<<"元, 实际消费 "<<day2*200<<"元整!n"cout<<endl;if(day>0)cout<<"请退给该顾客 "<<day*200<<" 元整!n" if(day<0)cout<<"请补收该顾客住房费 "<<-day*200<<" 元整!n"break;case 8:cout<<"顾客的房间号是"<<room_number<<" :为单人间,每天300元n"cout<<"该顾客预付了房费 "<<customerj->get_prepaid()<<"元, 实际消费 "<<day2*300<<"元整!n"cout<<endl;if(day>0)cout<<"请退给该顾客 "<<day*300<<" 元整!n" if(day<0)cout<<"请补收该顾客住房费 "<<-day*300<<" 元整!n"break;case 9:cout<<"顾客的房间号是"<<room_number<<" :为单人间,每天600元n"cout<<"该顾客预付了房费 "<<customerj->get_prepaid()<<"元, 实际消费 "<<day2*600<<"元整!n"cout<<endl;if(day>0)cout<<"请退给该顾客 "<<day*600<<" 元整!n" if(day<0)cout<<"请补收该顾客住房费 "<<-day*600<<" 元整!n"break;cout<<endl;cout<<"退房核算清楚,请按1: "char account;cin>>account;if(account='1')for(int k=0;k<80;k+)if(roomk.number=customerj->get_room_number()roomk.state=0;i-;for(;j<i;j+)customerj=customerj+1;delete customeri;/信息查询*void inquire()char inquire_choice;cout<<"房间信息查询请按1, 顾客信息查询请按2: "<<endl;cin>>inquire_choice;if(inquire_choice='1')int j,k=0;cout<<endl;cout<<"下列房间还没人预订,也没人入住:"<<endl;for(j=0;j<80;j+)if(roomj.state=0)if(k%10=0) cout<<endl;cout<<roomj.number<<'t'k+;cout<<endl;cout<<endl;k=0;cout<<"下列房间已预订:"<<endl;for(j=0;j<80;j+)if(roomj.state=1)if(k%10=0) cout<<endl;cout<<roomj.number<<'t'k+;k=0;cout<<endl;cout<<endl;cout<<"下列房间有人入住:"<<endl;for(j=0;j<80;j+)if(roomj.state=2)if(k%10=0) cout<<endl;cout<<roomj.number<<'t'k+;cout<<endl;cout<<endl;else if(inquire_choice='2')cout<<"按姓名查询请按1, 按身份证查询请按2: "<<endl;char inquire_choice;cin>>inquire_choice;if(inquire_choice='1')char name310;cout<<"请输入顾客的姓名: "<<endl;cin>>name3;for(int j=0;j<=i;j+)if(strcmp(customerj->get_name(),name3)=0)cout<<name3<<"的住房信息如下:n"cout<<'t'<<"房间号为: "<<customerj->get_room_number()<<endl;cout<<"t"<<"预付房费为: "<<customerj->get_prepaid()<<endl;if(inquire_choice='2')char id310;cout<<"请输入顾客的姓名: "<<endl;cin>>id3;for(int j=0;j<=i;j+)if(strcmp(customerj->get_ID(),id3)=0)cout<<customerj->get_name()<<"的住房信息如下:n"cout<<'t'<<"房间号为: "<<customerj->get_room_number()<<endl;cout<<"t"<<"预付房费为: "<<customerj->get_prepaid()<<endl;/房间信息初始化*void initial_room() /对80个房间进行初始化,分4个等级int j,k=601;for(j=0;j<20;j+)roomj.number=k+;roomj.dank=1;roomj.price=150;roomj.state=0;k=701;for(j=20;j<40;j+)roomj.number=k+;roomj.dank=2;roomj.price=200;roomj.state=0;k=801;for(j=40;j<60;j+)roomj.number=k+;roomj.dank=3;roomj.price=300;roomj.state=0;k=901;for(j=60;j<80;j+)roomj.number=k+;roomj.dank=4;roomj.price=600;roomj.state=0;课程设计总结这次实课程设计培训是对我进行一次全面的综合训练,这次实验不仅仅是把这个学期学的C+语言基础教程的知识总结,也是对以前计算机知识的检验。自己学了什么,都会心里有底。这个不单要掌握课本,还要熟练掌握一门编程语言。在这次实验中,依据c+语言进行编写。这样不仅可以学习本学期内容,而且还可以对C语言的知识进行巩固。知识是相互联系的,没有哪一门是单独而存在的。所以,要学好一门课,就是应该横向思考,多联系,这样会学得更深刻。这次实验,首先是要纵观全局,从大处着眼,先是需求分析,这是设计过程的基础,是最困难,最耗时的一步。作为“地基”的分析是否做得充分与准确,决定了在其上构建系统的速度与质量。需求分析做得不好,甚至会导致整个程序设计返工重做。接着就是概念结构设计,这也是整个程序设计的关键,它通过对用户需求进行综合,归纳与抽象,建立一个独立模型。再接着就是逻辑结构设计了,最后就是编程工作了。通过指导老师和同学的帮助,我不但在知识水平和解决实际问题的能力上有了很大的提高,还从思想上认识到自己所学到的知识在实际的开发中是很不够的。对于本次设计的命题,我的设计还很不完善,还有许多功能因为时间和本人的知识水平有限,参考了他人的作品,但是,我通过这次编程,思维和动手能力都相应的得到了提高。程序基本框架结构图主函数 void main()类class FindRoot公有成员 public:私有成员 private:函数void Input();函数void Display();函数void Find();void FindRoot:Input()Void FindRoot:Find()void FindRoot:Display() 系统设计流程图程序设计说明书1、 程序设计题目编制一个求方程ax2+bx+c=0的根的程序.假设:d=b*b-4*a-c可以根据d>0、=0或<0来决定求解方法。 Switch(2)/有两个不相等的实数解 switch(1)/有两个相等的实数解 switch(0)/有两个不相等的虚数解 2、课程设计性质和目的 该课程设计的主要任务是运用在面向对象程序设计课程中学到的理论知识来指导实践,使 学生了解面向对象与面向过程之间的区别,学会用类的方法解决实际问题。掌握一般类的定义、测 试、 封装、 数据隐藏、 继承及多态等概念, 掌握面向对象程序设计的基本概念和基本方法, 掌握 C+ 语言的基本语法和基本内容,并能运用 C+语言进行基本

    注意事项

    本文(c++-宾馆客房管理系统(共41页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开