c语言的酒店管理系统方案_第1页
c语言的酒店管理系统方案_第2页
c语言的酒店管理系统方案_第3页
c语言的酒店管理系统方案_第4页
c语言的酒店管理系统方案_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

/基于C语言的酒店管理系统课程设计学院:通信与电子工程学院班级:电子102班学号:20101310852010131012姓名:邹远文王帅指导老师:题原日期:20XX11月27日摘要随着个人计算机的的普及,越来越多的重复性工作被交由计算机来完成。在这种大趋势下,传统的纸质档案管理方式已不适应现代服务业的发展。数字化的管理成为酒店等行业的必要条件。酒店客房管理的电脑化对于优化员工工作效率、降低成本及改善服务质量等方面都有十分积极的作用。本程序是用于酒店管理的软件。它可以实现定退房业务处理,用户信息的记录、查询及房间状态管理等功能。虽然比较简陋但已具备应用程序的雏形。经济上主要考虑本系统带来的效益是否大于开发本系统的成本,由于本系统的开发以课程设计为依托,参与人员的目的以学习为主,投入成本比较小。另外,系统管理员和业务员都拥有计算机的专业知识,酒店前台工作人员和管理人员不需要经过培训或只需要经过少量培训即可操作本软件。这样可以为开发本系统节升资金。同时无纸化办公可以节省资源,减少后期资源浪费。因此,开发本系统在经济是可行的。本程序运用MicrosoftVisualC++编译器编写,涉及C语言的文件读写,结构数组运用及字符串函数相关知识。关键词:数字化管理酒店管理C语言目录TOC\o"1-4"\h\u6155摘要I31831第1章绪论 1113901.1概述1121851.1.1酒店管理系统的需求 1111461.2酒店管理系统的当前需求 1102711.3酒店管理系统的可行性 28341第2章酒店管理系统的功能实现 3282282.1设计模块 368972.1.1添加录入信息模块 3253252.1.3删除客房信息模块 3131542.1.4查询剩余客房函数 3208512.1.5排序剩余客房模块 3283832.1.6输出剩余客房函数 3322432.1.7点餐系统 4287052.2管理员登陆流程 4314912.2主要功能模块数据流程图 5140922.3管理员预处理流程 692542.4登记入住系统 6261602.5客房状态查询 6297662.6住户信息查询 7309342.7结账退房系统 772582.8系统管理 795042.9系统详细设计任务 7第235633章系统物理配置方案设计 85163.1设计指标 8134683.1.1系统的可靠性 8248903.1.2系统吞吐量 8144323.1.3系统响应时间 866603.2计算机硬件配置 824260第4章软件分析与设计 9200144.1软件运行截图 9270454.1.1登陆界面 9128164.1.2入住与选择界面 9165254.1.3查询界面 10300244.1.4点菜界面 1126094.1.5退房结账界面 1321151结论 1414765参考文献 158628附录 16第1章1.1概述随着旅游业的发展,酒店、餐饮娱乐行业日趋发达,引入全方位的电脑服务和电脑管理日益流行。同时,酒店和餐厅娱乐业引入电脑服务和管理也取得了优良的经济效益和社会效益。为此,国家建设部已于最近作出明确规定:凡星级酒店在项目审批时,其设计方案必须包括电脑管理系统,否则不予立项。可见,酒店管理电脑化势在必行。酒店管理系统将先进的电脑技术与现代酒店服务管理完美地结合起来,实现了住宿、餐饮、娱乐全新概念的服务和管理方式。1.1.1酒店管理系统的需求传统的酒店管理往往令管理者花大量的时间来处理顾客投诉,例如错误查询、烦琐的登记和结帐手续、旅客费用计算错误、空余客房资料不能及时提供等,从而影响出租率,使的管理人员不得不集中精力规划管理运行策略和进行决策。以上问题可通过电脑系统辅助解决,酒店管理的电脑化,不仅是体现酒店现代化形象的一个重要标志,而且对于提高员工工作效率,加速资金周转、降低各项成本及改善服务质量都有十分积极的作用。随着社会经济的发展,人们对生活质量的要求越来越高,作为服务之一的酒店业也在不断的完善服务体制。它是集餐饮、住宿、娱乐于一体的立体化服务体系,其中顾客可以随意消费并统一结账;宾馆管理者可及时了解酒店的全部运营情况及经营走势,找出运转成本,作为经营决策的依据。只有运用先进的科学管理手段,利用计算机管理系统才能更好实现这一管理模式。1.2酒店管理系统的当前需求酒店管理信息系统是用来收集、处理、存贮和传播客房、顾客、结算信息,以信息管理为核心的计算机应用系统。利用酒店管理信息系统中合理的数据库结构来保存数据信息,及时了解各个环节中信息的变更,通过有效的程序结构来支持各种数据操作的执行,以提高管理效率,实现酒店服务的系统化、规范化、自动化。通过该项目的开发与使用,可实现以下功能:<1>.快速实现客人入住登记和账务处理,减少客人住店及离店时的等待时间<2>.准确实现客人预订入住的要求,实现有效及有保障的前台系统作业<3>.快速响应住宿客人的有关项目查询要求<4>.实现入住、消费、结账一条龙服务,方便客人在店内的各类消费要求1.3酒店管理系统的可行性随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。各类行业在日常经营管理各个方面也在悄悄地走向规范化和网络化。客房管理的信息化程度体现在将计算机及网络与信息技术应用于经营与管理,以现代化工具代替传统手工作业。无疑,使用网络信息化管理使客房管理更先进、更高效、更科学,信息交流更迅速。酒店管理系统是典型的信息管理系统的一部份,而且是必不可少的一部份。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起简洁且资料一致性和完整性强、资料安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。酒店管理系统是酒店经营管理中不可缺少的部分,它的内容对于经营的决策者和管理者来说都至关重要,所以客房管理系统、信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多弊端,如:效率低、保密性差,容易出现差错等,且对于查询空房间及已定房间等极为不方便。在当今时代,这些完全可以改用计算机来代替人的手工操作。作为计算机及网络应用的一部分,使用计算机对酒店信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高客房经营管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。且办事效率也是决定收入的一个关键因素。第2章酒店管理系统的功能实现该管理系统适用于各类中小型酒店的客房资源和客户信息的管理,实现了酒店的信息化管理,该系统主要包括基础信息设置、客房前台管理、查询统计管理、挂账管理、系统初始设计、系统维护等功能。2.1设计模块按照需求分析所得,客房信息系统有以下几个功能模块:2.1.1添加录入信息模块编写指针摸板,定义临时的客房间数,包括其各项类的成员,编号,类型,定房日期,价格,客房内容,入住天数。2.1.2修改客房信息模块读取保存的客房信息数据,根据客房编号查找所需修改的客房信息,然后根据具体所需,修改成员参数,并保存。2.1.3删除客房信息模块从保存中的文件中读取信息,删除需要删除的信息,完善现在的客房运作。2.1.4查询剩余客房函数分按编号、类型、价格查询,这样可以更具有人性化来选择所剩余的客房,从而进行日常安排。2.1.5排序剩余客房模块根据具体所需排序,可以是编号、价格或者类型,本系统中根据的是客房入住的天数来排序。2.1.6输出剩余客房函数输出根据系统所需排序后的客房信息,本系统中是根据了客人入住的有效期即天数来及时了解空出的房间。2.1.7点餐系统给用户提供用餐的点餐系统,通过菜单来点相应的酒水和菜品,最后通过和房间的匹配来统计价格。图2—1功能结构图2.2管理员登陆流程登录入口登录入口取得用户名和密码将UserID存入session中输入用户账户核对密码是否正确登录成功是是否否图2-2登陆流程2.2主要功能模块数据流程图2-3功能模块流程图2.3管理员预处理流程客客人无空房客人客人查询客人信息表收银住房押金入帐表查询空房房间占用信息表入住登记表有无空房间交款图2-4前台处理流程2.4登记入住系统<1>.登记并记录顾客姓名<2>.登记并记录顾客的证件类型及号码<3>.显示现有空置房间<4>.选择所需要的房间并更改房间状态信息<5>.计算并记录住房费及押金由于本软件针对操作员设计,所以界面应尽可能简单明了。住房及顾客信息由于涉及多种类型的数据,因此应用结构数组处理。用文件记录相关数据。2.5客房状态查询分别显示已入住客房与空置客房读取住房信息文件的内容并判断分类,借此可以清晰明了的显示客房状态。剩余客房信息查询,可以通过系统对宾馆内剩余的客房进行查询,可以了解到未被预定及未被使用的客房的编号、客房编号、客房类型、客房位置、客房单价等。2.6住户信息查询<1>.查询顾客所租房房号<2>.查询顾客住房费用顾客可以通过输入自己的姓名来查询个人的住房信息。2.7结账退房系统<1>.退房<2>.更新所退房间状态<3>.删除退房用户记录<4>.显示账单顾客可以输入姓名来完成退房操作,房间状态将更改为未入住。系统将删除该用户信息记录并读取生成账单。2.8系统管理<1>.房间设定<2>.更改密码<3>.系统设置系统管理是每个系统所必须具备的功能,主要是对操作该系统的使用者进行管理〔即用户管理,包括用户的增加、删除、密码的修改以及管理各用户操作该系统的权限。并且实现房间基本设置功能以及各种系统设置功能,比如说房价设置等等。2.9系统详细设计任务<1>.算法过程的设计:本详细设计采用的是流程图的方式来表达每个处理过程的算法;<2>.数据结构的设计:对于处理过程中涉及的概念性的数据类型进行确切的定义;<3>.测试用例设计:测试用例包括输入数据和预期结果等内容。第3章系统物理配置方案设计3.1设计指标任何系统都应该以用户需求为最终目标,以方便用户为最高原则,同进要融入先进的管理经验与技巧。该系统努力根据用户的实际需求功能情况,度身订造一套先进的管理系统,并且将在统一的WindowsNT/9X图形界面下提供各种实用功能,尽可能降低使用前的培训、实施和使用中的维护时间。力求满足现在及未来的各种需求,真正为管理及决策提供强有力的支持。3.1.1系统的可靠性该系统要求24小时不间断工作工作,发生错误的概率低于0.01%。3.1.2系统吞吐量要提高系统的吞吐量,就要求使用具有大吞吐量的计算机。应该选择具有较高性能的计算机。<1>.系统响应时间响应时间不超过2秒<2>.系统处理方式该系统采用主机系统方式。<3>.地域范围本系统采用局域网方式。3.2计算机硬件配置计算机硬件选择取决于要运行的软件系统,本系统建议最低采取如下配置:<1>内存:128MB<2>CPU:奔三1.0GHZ以上<3>硬盘:空余空间4G<4>编译软件:microsoftvisualC++6.0第4章软件分析与设计运行程序后进入主界面,首先需要管理员权限的账号密码才可以进行登记入住、查询房间、查询顾客、退出程序等几项操作,否则无法进入程序。4.1软件运行截图4.1.1登陆界面图4-1登陆界面输入用户名和密码即可进入:图4-2管理员登陆界面4.1.2入住与选择界面输入对应的数字,选择不同的功能如选择入住功能,输入姓名和身份证号:图4-3登记注册4.1.3查询界面按照顾客姓名查询所住房间:图4-4房间查询查询房间入住情况:图4-5房间剩余查询4.1.4点菜界面点菜功能的实现:选择点菜功能,即可显示菜单,输入相应的代码即可选择菜品和份数:图4-6菜单输入菜和酒水的名字,系统会提醒所要点的份数:图4-7选择数量点菜完成后会显示点菜数量和金额:图4-8显示点菜数量和总价格同时会显示提醒输入点菜的客房房号:图4-9记录点菜的房间号4.1.5退房结账界面退房结账时,会显示住房消费和用餐消费金额,同时提醒押金是否足够,如果够则退回,不够则提醒补交:图4-10退房结算退房成功后系统会提醒退房成功,同时清除顾客信息!结论通过对酒店管理系统的编写,更加掌握了C语言的基本语法,巩固了以前所学的C语言知识。同时在C的设计过程中,对C语言运用循环,自定义函数等方面的思想有了更加深刻的认识,体会到了高级编程的强大,对以后编写程序有了很好的初步认识。通过这周的课程设计,也认识到自己对于C语言的一些不足之处,在对书本的知识点还有些掌握的不够透彻,在一些编程的地方可以更加优化代码,以最少的代码实现最强大的功能。在指针和链表方面,以后也还需要和老师同学探讨,让以后的C语言编程中能够合理的运用这些C语言里的精华内容。参考文献[1]谭浩强.《C程序设计〔第三版》.清华大学出版社.20XX[2]何钦铭颜晖.《C语言程序设计》.高等教育出版社.20XX[3]陈强.《C语言核心开发技术从开发到精通》.电子工业大学出版社.20XX[4]严蔚敏、吴为民.《数据结构〔C语言版》.清华大学出版社.20XX[5]周二强.《新编C程序设计》.清华大学出版社.20XX[6]钱能.《C++程序设计教程》.清华大学出版社.1999年[7]邓文华.《数据结构实验和实训教程》.清华大学出版社.20XX[8]高寒弢.《最短路径算法在交通咨询系统中的应用》.计算机与信息技术.20XX附录程序源代码:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#include"windows.h"//***********************************************************************************intinitial_room<>;//初始化80个房间信息intwelcome<>;//验证用户登陆,登陆成功显示欢迎信息intenter<>;intcheck_in<>;intcheck_out<>;intinquire<>;intdiancai1<>;inti=0;intcaijia=0;intpay=0;typedefintElemType;//***********************************************************************************structRoom{intnumber;intrank;intprice;intstate;};structCustomer{charname[13],ID[19];introom_number;intpay;intchange;intday; charcaiming; intcaijia;};intset_name<structCustomer*cs,char*n>{strcpy<cs->name,n>;return14;}intset_ID<structCustomer*cs,char*p>{strcpy<cs->ID,p>;return13;}intset_room_number<structCustomer*cs,intn>{cs->room_number=n;return12;}intset_day<structCustomer*cs,intd>{cs->day=d;return11;}char*get_name<structCustomer*cs>{returncs->name;}char*get_ID<structCustomer*cs>{returncs->ID;}intget_room_number<structCustomer*cs>{returncs->room_number;}intget_day<structCustomer*cs>{returncs->day;}//***********************************************************************************structRoomroom[60];structCustomer*customer[60];//diancaistructcai/*cai结构体实现对菜品已点份数、名称、原材料的记录*/{ intfenshu; charname[50];intuse; intprice;};structList/*该线性表实现对菜品原材料的剩余量的记录,线性表[i]对应菜品的点餐菜单编码*/{ ElemType*list;intsize; intMaxSize;};/*以下为线性表的函数*/voidInitList<structList*L,intms>{ if<ms<=0>{printf<"ms值非法!\n">;exit<1>;} L->MaxSize=ms; L->list=malloc<ms*sizeof<ElemType>>; if<!L->list> { printf<"动态存储分配失败!">; exit<1>; }L->size=0;}voidagainMalloc<structList*L>{ ElemType*p=realloc<L->list,2*L->MaxSize*sizeof<ElemType>>; if<!p>{ printf<"分配存储空间失败!">; exit<1>; }L->list=p;L->MaxSize=2*L->MaxSize;}voidInsertLastList<structList*L,ElemTypex>{ if<L->size==L->MaxSize> againMalloc<L>; L->list[L->size]=x; L->size++;}/*表格函数*/intcddayin<structcaia[]>{ inti=0,j=0; for<i=0;i<30;i++> {if<a[i].fenshu>0> j++;} if<j!=0> { printf<"已点菜/酒品编号已点菜品名称已点份数/瓶数价格\n">; for<i=0;i<30;i++> if<a[i].fenshu>0> {printf<"%5d%10s%14d%d¥\n",i,a[i].name,a[i].fenshu,a[i].fenshu*a[i].price>; caijia=caijia+a[i].fenshu*a[i].price; } printf<"您好,您点餐价格合计=%d¥\n",caijia>; }returncaijia;if<j==0> printf<"顾客尚未点餐,无法进行菜单打印!\n">;}voidycliao<structList*yuan,structcaia[]>{ inti=1,p=0,k=0,num; for<i=0;i<30;i++> { do{ p=a[i].use%100; yuan->list[p]=yuan->list[p]-a[i].fenshu; a[i].use=a[i].use/100; }while<a[i].use!=0>; } printf<"请输入房间号:">; scanf<"%d",&num>; if<num=101&&102&&103&&104&&105>{ printf<"|||\n">; printf<"|原材料余量|酒品余量|\n">; printf<"|||\n">; printf<"|10.鸡肉=%3d11.猪肉=%3d12.鱼肉=%3d|50.雪花啤酒=%3d|\n",yuan->list[10],yuan->list[11],yuan->list[12],yuan->list[50]>; printf<"|13.黄瓜=%3d14.土豆=%3d15.豆腐=%3d|51.燕京啤酒=%3d|\n",yuan->list[13],yuan->list[14],yuan->list[15],yuan->list[51]>; printf<"|16.茄子=%3d17.青椒=%3d18.牛肉=%3d|52.二锅头=%3d|\n",yuan->list[16],yuan->list[17],yuan->list[18],yuan->list[52]>; printf<"|19.大葱=%3d20.鲜鸭血=%3d21.花生=%3d||\n",yuan->list[19],yuan->list[20],yuan->list[21]>; printf<"|22.花椒=%3d23.酱=%3d24.胡萝卜=%3d||\n",yuan->list[22],yuan->list[23],yuan->list[24]>; printf<"|25.辣椒=%3d26.芹菜=%3d27.豆皮=%3d||\n",yuan->list[25],yuan->list[26],yuan->list[27]>; printf<"|||\n">; printf<"|||\n">;}}voiddiancai<structcaia[],structCustomer*cs>{ intp=0,wep=0;/*printf<"请输入房间号\n">;scanf<"%d",num>; for<i=0;i<60;i++> if<cs->room[n].number==num>*/ do{ printf<"|||\n">; printf<"|菜品<输入-1确认并结束点餐>|酒品|\n">; printf<"|||\n">; printf<"|1.红烧狮子头2.飘香桂鱼3.京酱肉丝21.长城干红|\n">; printf<"|4.爆炒竹鸡5.水煮鱼6.日本豆腐|22.喜力啤酒|\n">; printf<"|7.夫妻肺片8.拍黄瓜9.莲子羹|23.人头马|\n">; printf<"|||\n">; printf<"|||\n">; scanf<"%d",&p>; system<"CLS">;if<p>=1&&p<=9> { printf<"||\n">; printf<"|份数|\n">; printf<"||\n">; printf<"|1.一份2.两份|\n">; printf<"|3.三份4.其他请直接输入|\n">; printf<"||\n">; printf<"||\n">; scanf<"%d",&wep>; if<wep>50> {system<"CLS">;printf<"您输入的值异常或过大,请您检查输入的值!\n">;continue;}/*防止误输入*/ elseif<wep<=50> {a[p].fenshu+=wep; system<"CLS">; } } elseif<p>=21&&p<=23> { printf<"||\n">; printf<"|酒品数量|\n">; printf<"||\n">; printf<"|1.一瓶2.两瓶3.三瓶4.其他瓶数请直接输入|\n">; printf<"||\n">; printf<"||\n">; scanf<"%d",&wep>; if<wep>50> {system<"CLS">;printf<"您输入的值异常或过大,请您检查输入的值!\n">;continue;}/*防止误输入*/ elseif<wep<=50> { a[p].fenshu+=wep; system<"CLS">; } } elseif<p!=-1> printf<"对不起,你输入的编码没有对应菜品,请重新输入!\n">; }while<p!=-1>; system<"CLS">; cs->caijia=cddayin<a>;}voidycldayin<structListyuan,structcaia[]>{ charl='\0'; printf<"显示原材料余量?〔Y/N\n">; l=getch<>; if<l=='Y'||l=='y'> {system<"CLS">; ycliao<&yuan,a>;} else { system<"CLS">; printf<"\n\n\n\n">;}}intdiancai1<structCustomer*cs>{ inti=0; charl='\0'; structListyuan;/*yuan前不用加"*"*/ structcaia[60]={ {0,"\0",0}, {0,"宫爆鸡丁",10131421,15},{0,"飘香桂鱼",1124,14},{0,"京酱肉丝",112327,16}, {0,"爆炒竹鸡",141617,10},{0,"水煮鱼",122225,50},{0,"日本豆腐",152225,11}, {0,"夫妻肺片",18212625,17},{0,"拍黄瓜",13252223,8},{0,"莲子羹",20,20}, {0,"\0",0},{0,"\0",0},{0,"\0",0}, {0,"\0",0},{0,"\0",0},{0,"\0",0}, {0,"\0",0},{0,"\0",0},{0,"\0",0}, {0,"\0",0},{0,"\0",0}, {0,"长城干红",50,300},{0,"喜力啤酒",51,20},{0,"人头马",52,500}, {0,"\0",0},{0,"\0",0},{0,"\0",0}, {0,"\0",0},{0,"\0",0},{0,"\0",0}}; InitList<&yuan,60>; for<i=0;i<60;i++> InsertLastList<&yuan,100>;//+rand<>%50 printf<"\n\n\n\n\n\n\n\n">; printf<"||\n">; printf<"|欢迎您开始点餐!|\n">; printf<"||\n">; Sleep<2500>; system<"CLS">; diancai<a,cs>;/*点餐函数,开始点餐吧!*/ ycldayin<yuan,a>; printf<"\n\n\n\n">; printf<"||\n">; printf<"|欢迎再次点餐,祝您用餐愉快!|\n">; printf<"||\n">; printf<"\n\n\n\n\n\n">; return0;}intCCustomer<structCustomer*cs>{printf<"请您输入顾客的姓名\n">;scanf<"%s",cs->name>;printf<"请您输入顾客的身份证号码<18位数字>\n">;scanf<"%s",cs->ID>;cs->pay=cs->change=cs->day=0;return9;}intFCustomer<>{printf<"该顾客退房成功!">;return8;}intmain<>//程序入口从这里开始运行{//system<"color3E">;charchoice='1'; system<"color3E">;initial_room<>;//初始化60个房间的信息,分三个等级welcome<>;//验证用户登陆,登陆成功显示欢迎信息while<choice=='1'>{enter<>;//根据用户的选择执行不同的功能printf<"\n">;printf<"继续使用本系统请按\"1\",退出请按\"2\"!">;fflush<stdin>;scanf<"%c",&choice>;printf<"\n">;}return0;}//系统登陆界面***********************************************************************intwelcome<>//验证用户登陆,登陆成功显示欢迎信息{charname[10],code[20];printf<"请输入用户名和密码:\n">;printf<"用户名:">; scanf<"%s",name>;//scanf<"%s%s",name,code>;printf<"密码:">; scanf<"%s",code>;while<<strcmp<name,"Joe">!=0>||<strcmp<code,"Mercy">!=0>>{printf<"用户名或密码输入有误,请重新输入!\n">;scanf<"%s%s",name,code>;}printf<"\n">;printf<"\n">;printf<"▲***************************▲\n">;printf<"△欢迎使用酒店管理系统!△\n">;printf<"▲***************************▲\n">;printf<"\n">;return7;}//系统入口***************************************************************************intenter<>{intkind_of_service;printf<"请选择服务类别:入住、退房还是查询?\n">;printf<"1->入住2->退房3->查询4->点菜">;scanf<"%d",&kind_of_service>;if<<kind_of_service>4>||<kind_of_service<1>>{printf<"您的输入有误,请重试!\n">;scanf<"%d",&kind_of_service>;}else{switch<kind_of_service>{case1:check_in<>;break;case2:check_out<>;break;case3:inquire<>;break;case4: diancai1<>; break;}}return6;}//入住登记***************************************************************************intcheck_in<>{intpay;{introom_standard,day;customer[i]=<structCustomer*>malloc<sizeof<structCustomer>>;CCustomer<customer[i]>;printf<"请您选择预定房间的标准:\n">;printf<"1.单人间/天150元\n2.双人间/天200元\n3.标准间/天300元\n">;scanf<"%d",&room_standard>;printf<"请输入住宿天数\n">;scanf<"%d",&day>;set_day<customer[i],day>;switch<room_standard>{intn;case1:pay=day*150;//set_pay<customer[i],pay>;printf<"请收房费%d元整!\n",pay>;for<n=0;n<20;n++>{if<room[n].state==0>{printf<"入住房间号码为:%d\n",room[n].number>;room[n].state=2;set_room_number<customer[i],room[n].number>;break;}}break;case2:pay=day*200;printf<"请收房费%d元整!\n",pay>;for<n=20;n<40;n++>{if<room[n].state==0>{printf<"入住房间号码为:%d\n",room[n].number>;room[n].state=2;set_room_number<customer[i],room[n].number>;break;}}break;case3:pay=day*300;printf<"请收房费%d元整!\n",pay>;for<n=40;n<60;n++>{if<room[n].state==0>{printf<"入住房间号码为:%d\n",room[n].number>;room[n].state=2;set_room_number<customer[i],room[n].number>;break;}}break;}i++;}return4;}//退房结算***************************************************************************intcheck_out<>{charname2[13],id2[19];intstandard,j,room_number,day1,day2,day;printf<"请输入要退房的顾客姓名和身份证号码:\n">;scanf<"%s%s",name2,id2>;printf<"请输入该顾客实住天数:\n">;scanf<"%d",&day2>;for<j=0;j<i;j++>{if<<strcmp<get_name<customer[j]>,name2>==0>&&<strcmp<get_ID<customer[j]>,id2>==0>>{characcount;room_number=get_room_number<customer[j]>;standard=room_number/100;day1=get_day<customer[j]>;day=day1-day2;switch<standard>{case1:printf<"顾客的房间号是%d:为单人间,每天150元\n",room_number>;printf<"实际住房消费%d元整!\n",day2*150>;printf<"\n">;if<day2*150+caijia<pay>printf<"请退给该顾客%d元整!\n",day*150>;if<day2*150+caijia>pay>printf<"请补收该顾客住房费%d元整!\n",day2*150+caijia-pay>;printf<"用餐费用为:%d\n",caijia>; printf<"消费总钱数为%d\n",day2*150+caijia>;break;case2:printf<"顾客的房间号是%d:为双人间,每天200元%d\n",room_number>;printf<"实际住房消费%d元整!\n",day2*200>;printf<"\n">;if<day2*200+caijia<pay>printf<"请退给该顾客%d元整!\n",day*150>;if<day2*200+caijia>pay>printf<"请补收该顾客住房费%d元整!\n",day2*200+caijia-pay>;printf<"用餐费用为:%d\n",caijia>; printf<"消费总钱数为%d\n",day2*200+caijia>;break;case3:printf<"顾客的房间号是%d:为标准间,每天300元%d\n">;printf<"实际住房消费%d元整!\n",day2*300>;printf<"\n">;if<day2*300+caijia<pay>printf<"请退给该顾客%d元整!\n",day*300>;if<day2*150+caijia>pay>printf<"请补收该顾客住房费%d元整!\n",day2*300+caijia-pay>;printf<"用餐费用为:%d\n",caijia>; printf<"消费总钱数为%d\n",day2*300+caijia>;break;}//printf<"用餐费用为:%d\n",caijia>;//printf<"实际应收总价为">printf<"退房核算清楚,请按1:">;fflush<stdin>;scanf<"%c",&account>;if<account=='1'>{intk;for<k=0;k<80;k++>{if<room[k].number==get_room_number<customer[j]>>room[k].state=0;}i--;for<;j<i;j++>{customer[j]=customer[j+1];}free<customer[i]>;FCustomer<>;}}}return3;}//信息查询***************************************************************************intinquire<>{charinquire_choice;printf<"房间信息查询请按1,顾客信息查询请按2:">;fflush<stdin>;scanf<"%c",&inquire_choice>;if<inquire_choice=='1'>

温馨提示

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

评论

0/150

提交评论