




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Good is good, but better carries it.精益求精,善益求善。C语言课程设计-宾馆客房管理软件-C语言课程设计课程设计报告题目学生成绩统计学号姓名年级专业指导教师完成日期年月日安徽师范大学物理与电子信息学院CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversity目录一问题描述2TOCo1-3huHYPERLINKl_Toc15084二.系统需求分析2HYPERLINKl_Toc314222.1设计前调查2HYPERLINKl_Toc300202.2用户需求分析2HYPERLINKl_Toc7662
2、2.3核心数据流图3HYPERLINKl_Toc20981三、概念设计5HYPERLINKl_Toc293143.1局部E-R图5HYPERLINKl_Toc42973.2程序结构图5HYPERLINKl_Toc22174四、逻辑设计6HYPERLINKl_Toc4714.1开发环境6HYPERLINKl_Toc964五、HYPERLINKl_Toc8947程序调试6HYPERLINKl_Toc156705.1程序登陆6HYPERLINKl_Toc107995.2订房7HYPERLINKl_Toc16415.3入住7HYPERLINKl_Toc176545.4退房8HYPERLINKl_Toc
3、235855.5信息查询8HYPERLINKl_Toc30767六、程序代码8HYPERLINKl_Toc27577七、总结22物理与电子信息学院课程设计评定意见HYPERLINKl_Toc583223一问题描述宾馆客房管理软件某宾馆有301、302、303、304、305五个标准间,每个标准间可住2人;链表存储结构:姓名、性别、房号、后续指针,按房间号有序;能实现入住(注意性别)和退房,能按给定姓名、房号查询;建议采用链表结构,但用其它方法实现也可。二.系统需求分析2.1设计前调查近年来,宾馆业迅猛发展,市场的竞争日趋激烈,全面提高宾馆的软件管理水准,已成为宾馆业发展的当务之急。尤其是对于星
4、级宾馆,既需要完成前台的一些服务工作,还需要完成后台的管理工作。然而,传统的人工管理模式已经远远不能满足有效、快捷地处理经营中产生的大量信息数据的需要,从而使得企业决策层无法及时、准确地掌握一线资料,继而影响对市场进行正确地分析和预测。像沿海城市三星级以上宾馆引进外方管理,使小部分宾馆管理水准几乎接近或达到国际水平。但对占80%以上的广大中小型宾馆来说,是难以做到的。因此,欲在竞争中甩开对手,取得优势,必须在经营、管理、产品、服务等方面具备独到之处。而对宾馆的经营状况起决定作用的是客房的管理。简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处,才能让顾客体会到宾馆服务的高标准、高质量,而准
5、确、快速、周全往往就是最基本的成功要素。传统的管理方法已经不能适应现代社会的需要,因此采用电脑管理业务、财务等诸多环节已成为推动宾馆业迅速发展的先决条件,宾馆客房管理信息系统是各大中小型宾馆所需要使用的一个管理系统。2.2用户需求分析建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。因而程序需要实现的功能有如下主要六大功能:客房管理:客房登记,入住情况查询,客房状态查看
6、。宾客入住管理:客房预定,登记入住,房间调整,退房结帐物资管理:物品登记,物品查询,报修和维修,定时提醒。财务管理:追加押金,增删财务,日报表员工管理:增改员工,查删员工系统管理:增删管理员,修改密码其他功能:界面管理2.3核心数据流图维修信息调整房间维修/报修房间提醒客房信息预订客房信息客房状态退房入住住客人客人信息入住登记帐务信息财务现开入住信息部分数据流图数据流名称:客人信息来源:客人去向:入住登记包含的数据项:姓名、身份证号、性别、入住房间、房间类型、房间价格、入住状态等(宾馆客房管理系统的数据流客人信息)数据流名称:入住登记来源:客人产生入住登记去向:入住包含的数据项:订单编号、姓名
7、、性别、身份证号、客户编号、客房类型、抵房时间、入住人数、预定人、电话、住几天等信息(宾馆客房管理系统的数据流入住登记)数据流名称:客房信息来源:客人产生入住登记去向:入住包含的数据项:客房编号、客房类型、客房价格、客房状态(宾馆客房管理系统的数据流客房信息)数据流名称:房间状态来源:退房去向:房间包含的数据项:客房号码、房间状态(宾馆客房管理系统的数据流房间状态)数据流名称:帐务信息来源:退房去向:财务包含的数据项:帐单编号、姓名、消费金额、入住时间、退房时间、押金数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据
8、结构混合组成。数据结构的具体描述如下:(1)数据结构:客房信息含义说明:是宾馆客房管理系统的主体数据结构,定义了宾馆客房的有关信息组成:房号、类别、楼层、单价、可容纳人数、说明(2)数据结构:旅客信息含义说明:是酒店客房管理系统中的旅客数据结构,定义了旅客的有关信息组成:入住编号、顾客姓名、性别、证件名称、证件号码(3)数据结构:操作员信息含义说明:是酒店客房管理系统中的操作员数据结构,定义了操作员的有关信息组成:用户名、密码数据存储通过SQLSERVER2000建立一个名为“酒店”的库,存放酒店客房信息、旅客信息和旅客入住信息以提供应用程序进行系统业务功能数据所需的数据。1)数据存储名称:客
9、房信息表说明:记录所有房间的基本信息输入的数据流:服务员查看酒店房间基本信息输出的数据流:输出房间基本信息给服务员查看组成:房号,类别,楼层,单价,可容纳人数,说明2)数据存储名称:旅客信息表说明:记录住店客人的基本信息输入的数据流:在住店管理界面中添加客人基本信息输出的数据流:在在住客人列表中或历史信息中查看客人基本信息组成:入住编号,顾客姓名,性别,证件名称,证件号码3)数据存储名称:旅客入住登记信息表说明:记录开房和退房的基本信息输入的数据流:在住店管理界面中添加客人基本信息输出的数据流:在开房,退房,在住客人列表中或历史信息中查看有关基本信息组成:入住编号,房号,预付金额,入住时间,退
10、房时间三、概念设计3.1局部E-R图客房房号价格状态客人性别姓名证件管理员姓名密码权限年龄性别工资3.2程序结构图系统登录订房实现入住登记退房结算信息查询客房信息初始化四逻辑设计4.1.开发环境软件:Visualc+6.0硬件:HPProBook4321s五程序调试5.1程序登陆5.2订房5.3入住5.4退房5.5信息查询六程序代码#include#include/*voidinitial_room();/初始化80个房间信息voidwelcome();/验证用户登陆,登陆成功显示欢迎信息voidenter();voidbook_room();voidcheck_in();voidcheck_
11、out();voidinquire();inti=0;/*structRoomintnumber;intdank;intprice;intstate;room80;structCustomercharname10;charID19;introom_number;intprepaid;intchange;intday;customer80;voidcreateCustomer()printf(请您输入顾客的姓名n);scanf(%s,);printf(请您输入顾客的身份证号码n);scanf(%s,customeri.ID);customeri.prepaid=0;c
12、ustomeri.change=0;customeri.day=0;voidset_name(char*n,intindex)strcpy(,n);voidset_ID(char*p,intindex)strcpy(customerindex.ID,p);voidset_room_number(intn,intindex)customerindex.room_number=n;voidset_day(intd,intindex)customerindex.day=d;voidset_prepaid(intp,intindex)customerindex.pr
13、epaid=p;char*get_name(intindex);char*get_ID(intindex)returncustomerindex.ID;intget_room_number(intindex)returncustomerindex.room_number;intget_day(intindex)returncustomerindex.day;intget_prepaid(intindex)returncustomerindex.prepaid;/*voidmain()/程序入口从这里开始运行intchoice=1;initial_
14、room();/初始化80个房间的信息,分四个等级welcome();/验证用户登陆,登陆成功显示欢迎信息while(choice=1)enter();/根据用户的选择执行不同的功能getchar();printf(n继续使用本系统请按1,退出请按2!);scanf(%d,&choice);printf(n);/系统登陆界面*voidwelcome()/验证用户登陆,登陆成功显示欢迎信息charname4,code7;printf(请输入用户名和密码(以空格隔开):n);scanf(%s%s,name,code);while(strcmp(name,000)!=0)|(strcmp(code,
15、666666)!=0)printf(用户名或密码输入有误,请重新输入!n);scanf(%s%s,name,code);printf(nn);printf(*n);printf(欢迎使用宾馆客房管理系统!n);printf(*nn);/系统入口*voidenter()intkind_of_service;printf(请选择服务类别:订房、入住、退房还是查询?n);printf(1-定房2-入住3-退房4-查询:);scanf(%d,&kind_of_service);if(kind_of_service4)|(kind_of_service1)printf(您的输入有误,请重试!n);sca
16、nf(%d,&kind_of_service);elseswitch(kind_of_service)case1:book_room();break;case2:check_in();break;case3:check_out();break;case4:inquire();break;/订房实现*voidbook_room()createCustomer();introom_standard,day;printf(请您选择预定房间的标准:n);printf(1.单人间/天150元n2.双人间/天200元n3.标准间/天300元n4.总统套房/天600元n);scanf(%d,&room_st
17、andard);printf(请输入预定天数n);scanf(%d,&day);set_day(day,i);switch(room_standard)intn;case1:printf(住房费用总共为:%d元n,day*150);/计算住房费用for(n=0;n20;n+)/从第一个级别的房间中查找一个空闲的房间if(roomn.state=0)/state=0表示该住房没有被预定的printf(预定成功房间号码为:%dn,roomn.number);roomn.state=1;set_room_number(roomn.number,i);break;break;case2:printf(
18、住房费用总共为:%d元n,day*200);for(n=20;n40;n+)if(roomn.state=0)printf(预定成功房间号码为:%dn,roomn.number);roomn.state=1;set_room_number(roomn.number,i);break;break;case3:printf(住房费用总共为:%d元n,day*300);for(n=40;n60;n+)if(roomn.state=0)printf(预定成功房间号码为:%dn,roomn.number);roomn.state=1;set_room_number(roomn.number,i);bre
19、ak;break;case4:printf(住房费用总共为:%d元n,day*600);for(n=60;n订了2-没订);scanf(%d,&ding_or_no);if(ding_or_no=1)printf(请输入顾客的姓名:n);scanf(%s,name1);printf(请输入顾客的身份证号码:n);scanf(%s,id1);for(intj=0;j=i;j+)if(strcmp(get_name(j),name1)=0)&(strcmp(get_ID(j),id1)=0)/查找该顾客的定房信息intnum=get_room_number(j);/取得定房的房间号printf(顾
20、客%s今天入住本宾馆!房间号码为:%dn,name1,num);switch(num/100)case6:prepaid=get_day(j)*150;set_prepaid(prepaid,j);printf(请收房费%d元整!n,prepaid);/开始收费roomnum%100-1.state=2;/修改房间状态为入住状态break;case7:prepaid=get_day(j)*200;set_prepaid(prepaid,j);printf(请收房费%d元整!n,prepaid);room19+num%100.state=2;break;case8:prepaid=get_day
21、(j)*300;set_prepaid(prepaid,j);printf(请收房费%d元整!n,prepaid);room39+num%100.state=2;break;case9:prepaid=get_day(j)*600;set_prepaid(prepaid,j);printf(请收房费%d元整!n,prepaid);room59+num%100.state=2;break;break;elsecreateCustomer();introom_standard,day;printf(请您选择预定房间的标准:n);printf(1.单人间/天150元n2.双人间/天200元n3.标准
22、间/天300元n4.总统套房/天600元n);scanf(%d,&room_standard);printf(请输入住宿天数n);scanf(%d,&day);set_day(day,i);switch(room_standard)intn;case1:prepaid=day*150;set_prepaid(prepaid,i);printf(请收房费%d元整!n,prepaid);for(n=0;n20;n+)if(roomn.state=0)printf(入住房间号码为:%dn,roomn.number);roomn.state=2;set_room_number(roomn.number
23、,i);break;break;case2:prepaid=day*200;set_prepaid(prepaid,i);printf(请收房费%d元整!n,prepaid);for(n=20;n40;n+)if(roomn.state=0)printf(入住房间号码为:%dn,roomn.number);roomn.state=2;set_room_number(roomn.number,i);break;break;case3:prepaid=day*300;set_prepaid(prepaid,i);printf(请收房费%d元整!n,prepaid);for(n=40;n60;n+)
24、if(roomn.state=0)printf(入住房间号码为:%dn,roomn.number);roomn.state=2;set_room_number(roomn.number,i);break;break;case4:prepaid=day*600;set_prepaid(prepaid,i);printf(请收房费%d元整!n,prepaid);for(n=60;n80;n+)if(roomn.state=0)printf(入住房间号码为:%dn,roomn.number);roomn.state=2;set_room_number(roomn.number,i);break;br
25、eak;i+;/退房结算*voidcheck_out()charname210,id219;intstandard,j,room_number,day1,day2,day;printf(请输入要退房的顾客姓名和身份证号码:n);scanf(%s%s,name2,id2);printf(请输入该顾客实住天数:n);scanf(%d,&day2);for(j=0;j0)printf(请退给该顾客%d元整!n,day*150);if(day0)printf(请退给该顾客%d元整!n,day*200);if(day0)printf(请退给该顾客%d元整!n,day*300);if(day0)print
26、f(请退给该顾客%d元整!n,day*600);if(day0)printf(请补收该顾客住房费%d元整!n,-day*600);break;printf(n退房核算清楚,请按1:);intaccount;scanf(%d,&account);if(account=1)for(intk=0;k80;k+)if(roomk.number=get_room_number(j)roomk.state=0;i-;for(;ji;j+)customerj=customerj+1;/信息查询*voidinquire()intinquire_choice;printf(房间信息查询请按1,顾客信息查询请按2
27、:n);scanf(%d,&inquire_choice);if(inquire_choice=1)intj,k=0;printf(n下列房间还没人预订,也没人入住:n);for(j=0;j80;j+)if(roomj.state=0)if(k%10=0)printf(n);printf(%dt,roomj.number);k+;k=0;printf(nn下列房间已预订:);for(j=0;j80;j+)if(roomj.state=1)if(k%10=0)printf(n);printf(%dt,roomj.number);k+;k=0;printf(nn下列房间有人入住:n);for(j=
28、0;j80;j+)if(roomj.state=2)if(k%10=0)printf(n);printf(%dt,roomj.number);k+;printf(nn);elseif(inquire_choice=2)getchar();printf(按姓名查询请按1,按身份证查询请按2:n);intinquire_choice;scanf(%d,&inquire_choice);if(inquire_choice=1)charname310;printf(请输入顾客的姓名:n);scanf(%s,name3);for(intj=0;j=i;j+)if(strcmp(get_name(j),n
29、ame3)=0)printf(%s的住房信息如下:n,name3);printf(t房间号为:%dn,get_room_number(j);printf(t预付房费为:%dn,get_prepaid(j);if(inquire_choice=2)charid310;printf(请输入顾客的身份证:n);scanf(%s,id3);for(intj=0;j=i;j+)if(strcmp(get_ID(j),id3)=0)printf(%d的住房信息如下:n,get_name(j);printf(t房间号为:%dn,get_room_number(j);printf(t预付房费为:%dn,get_prepaid(j);/房间信息初始化*voidinitial_room()/对80个房间进行初始化,分4个等级intj,k=101;for(j=0;j20;j+)roomj.number=k+;roomj.dank=1;roomj.price=150;roomj.state=0;k=201;for(j=20;j40;j+)roomj.number=k+;roomj.dank=2;roomj.price=200;roomj.state=0;k=301;for(j=40;j60;j+)roomj.number=k+;roomj.dank=3;roomj.pric
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国普通改性PVC密封条数据监测研究报告
- 2025至2031年中国纸箱装订扁丝行业投资前景及策略咨询研究报告
- 2025年中国无芯轮数据监测研究报告
- 2025年湖南省岳阳市中考二模地理试卷及答案
- 2025年中国斜式双锥混料机市场调查研究报告
- 2025年中国数字式倒车雷达数据监测报告
- 2025-2030年中国中高压输配电行业发展动态及投资战略研究预测研究报告
- 2025至2031年中国罐装熏衣草茶行业投资前景及策略咨询研究报告
- 肇庆市实验中学高中历史三:第课汉字与书法教案
- 商家带货主播合同协议
- 2025届河北省“五个一”名校联盟高三下学期4月联考地理试题(含答案)
- 机动车安全知识培训课件
- 山东开放大学招聘笔试真题2024
- 高三下学期《积极调整成为高考黑马!》主题班会课件
- 2024年贵州省中考理科综合试卷(含答案)
- 中小学校岗位安全工作指导手册1
- 化工仪表及自动化第六版-课后-答案
- DB32∕T 4073-2021 建筑施工承插型盘扣式钢管支架安全技术规程
- (完整版)机电工程质量通病防治(最终版)课件
- 离婚登记申请受理回执单(民法典版)
- 分子生物学教学课件:噬菌体调控
评论
0/150
提交评论