C语言实验报告-酒店管理系统
酒店管理系统实验报告

数据库大作业酒店管理系统实验报告----------------------目录----------------------一、需求分析 (3)二、E-R图 (4)三、物理与逻辑设计 (12)四、数据字典 (14)五、系统实现 (16)六、开发环境 (18)七、问题与感想: (18)一、需求分析1、酒店管理系统是一种典型的信息管理系统。
随着信息化的发展,现在的酒店不但需要豪华的装饰和舒适的居住环境,还需要为客人提供快捷优质的服务。
通过酒店管理系统就可以做到这一点,并且还能降低酒店的运营成本,提高酒店的效率和效益。
2、操作人员进入系统后将能够查询当前酒店房间的状态,房间状态可以分为入住、预定、空闲、脏房等。
有宾客时,将能够完成开单操作,从而让宾客进行入住。
当宾客离开酒店时,将能够完成结账操作,从而送走宾客。
同时,还应接受宾客的预定,为即将到来的宾客留出指定的房间。
为了更好的了解酒店运行情况,在该系统中还应具有营业查询的功能,从而知道酒店的具体营业额和每一个宾客的消费情况。
3、功能分析。
根据需求分析,可以将酒店管理系统分为如下几个模块:房间管理模块、客户入主模块、预定管理模块和酒店营业查询模块。
各模块的具体分析如下:房间管理模块:该模块中主要完成对九点钟的房间进行查询、修改、新增和删除操作。
此外,对房间类型的添加和删除也可以算在该模块之中。
客户入住模块:该模块中完成酒店最频繁操作的功能,就是宾客入住和结账。
预定管理模块:该模块中可以完成查询预订的功能,例如查询某一房间或某一宾客的预订信息。
此外可以对已有的预订信息进行添加和删除操作。
营业查询模块:该模块可以设置为只有管理员才能够操作。
通过该模块可以查询一定日期围的营业记录。
4、设计系统功能,绘制用例图。
酒店管理系统是在酒店部使用的管理工具,其用户主要是酒店操作人员和管理员。
日常工作中,只要是操作人员来使用该系统。
管理员除了具有操作人员的所有功能外,还能够对操作人员进行管理。
c语言课程设计酒店管理系统主要收获与体会

c语言课程设计酒店管理系统主要收获与体会在参与C语言课程设计酒店管理系统的过程中,我获得了许多宝贵的经验和知识,也体会到了软件开发的挑战和乐趣。
首先,我学会了如何将理论知识应用到实际项目中。
在设计酒店管理系统时,我需要运用C语言的各种语法和数据结构来实现系统的各个功能模块,包括客房管理、预订管理、员工管理等。
通过实践,我对C语言的掌握程度得到了很大的提高,并且加深了对数据结构和算法的理解。
其次,我对软件开发的流程和步骤有了更清晰的认识。
在设计酒店管理系统之前,我需要进行需求分析和系统设计,明确系统的功能和模块划分。
然后,我需要逐步实现每个功能模块,进行调试和测试,最终完成整个系统的开发。
这个过程让我深刻体会到了软件开发的复杂性和耐心的重要性。
此外,我还学会了团队协作和沟通的重要性。
在项目中,我需要与同学共同合作,分工协作,解决问题和交流思路。
通过与他人的合作,我学会了倾听他人的意见,并尊重和理解不同的观点。
这对于一个成功的软件项目来说非常关键。
最后,通过这个课程设计,我也更加明确了自己的职业发展方向。
我发现我对软件开发具有浓厚的兴趣和热情,并且在这个领域中有很大的潜力。
我将进一步学习和提高自己的技术能力,追求在软件开发领域取得更高的成就。
总之,参与C语言课程设计酒店管理系统让我收获颇丰。
除了技术上的提升,我也从中体会到了软件开发的挑战和乐趣,同时也明确了自己的职业发展方向。
这个经历将成为我未来学习和工作的重要基础,我将会继续努力,不断提升自己在软件开发领域的能力。
c酒店管理系统实训报告

C#课程实训报告项目组:酒店管理系统项目组专业:计算机软件技术学院:软件职业技术学院指导教师:王大亮闻喆实训时间:2012年6月24日-2012年7月12日软件职业技术学院CCUTSOFT酒店管理系统第一局部团队构成与分工第二局部系统开发进度计划第三局部需求分析第四局部概要设计第五局部详细设计第六局部系统实现第七局部测试第八局部代码清单第九局部参考文献第十局部实训总结目录1.团队构成与分工12. 系统开发进度计划23. 需求分析33.1 导言33.1.1 目的33.1.2 背景43.1.3 定义与缩写43.1.4 参考文献53.2 系统定义53.2.1 项目来源与背景53.2.2 用户特点53.2.3 项目目标63.2.4 应用环境63.3 功能需求73.3.1 角色定义73.3.2 系统用例图73.3.3 用例描述103.4 性能需求133.4.1 界面需求133.4.2 响应时间需求143.4.3 可靠性需求143.4.4 开发性需求143.4.5 可扩展性需求143.4.6 系统安全需求144.概要设计154.1 导言154.1.1 目的154.1.2 定义与缩写154.1.3 参考文献154.2 功能设计164.2.1 功能层次设计164.2.2 房间信息模块详述164.2.3 入住信息模块详述174.2.4 订房模块详述174.2.5 退房模块详述184.2.6 登录模块详述184.2.7 历史记录模块详述184.3 界面流程194.4 数据设计204.4.1 数据概念结构设计204.4.2 数据逻辑结构设计204.4.3 数据物理结构设计265. 详细设计285.1 导言285.1.1 目的285.1.2 定义与缩写285.1.3 参考文献285.2 界面设计285.2.1 酒店管理系统登录模块界面设计295.2.2 房间信息模块界面设计305.2.3 入住信息界面设计315.2.4 订房界面设计325.2.5 退房界面设计345.2.6 历史记录界面设计355.3 功能详细设计365.3.1 酒店管理系统登录界面详细设计365.3.2 房间信息模块详细设计395.3.3 入住信息模块详细设计415.3.4 订房信息模块详细设计435.3.5 退房界面详细设计465.3.6 历史记录界面详细设计476. 系统实现516.1 导言516.1.1 目的516.1.2 缩写与定义516.1.3 参考文献516.2 编码格式规X516.2.1 缩进规那么516.2.2 断行规那么526.3 命名规X526.3.1 控件526.3.2 类/接口526.3.3 方法526.3.4 变量/常量526.4 注释规X536.5 功能实现536.5.1 系统登录功能实现536.5.2 房间信息模块实现546.5.3 入住信息模块实现556.5.4 订房模块实现566.5.5 退房模块实现586.5.6 历史记录模块实现597. 测试607.1 用户登录测试617.2 用户订房测试647.3 用户退房测试688. 代码清单719. 参考文献8010. 实训总结811.团队构成与分工指导教师签字:年月日2. 系统开发进度计划3.需求分析3.1 导言3.1.1 目的随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
c语言酒店管理系统

.鉴于 C语言的酒店管理系统课程设计学院:通讯与电子工程学院班级:电子 102 班学号:2010131085 2010131012姓名:邹远文王帅指导老师:题原日期:2013年11月27日摘要跟着个人计算机的的普及,愈来愈多的重复性工作被交由计算机来达成。
在这类大趋向下,传统的纸质档案管理方式已不适应现代服务业的发展。
数字化的管理成为酒店等行业的必需条件。
酒店客房管理的电脑化关于优化职工工作效率、降低成本及改良服务质量等方面都有十分踊跃的作用。
本程序是用于酒店管理的软件。
它能够实现定退房业务办理,用户信息的记录、查问及房间状态管理等功能。
固然比较简陋但已具备应用程序的雏形。
经济上主要考虑本系统带来的效益能否大于开发本系统的成本,因为本系统的开发以课程设计为依靠 , 参加人员的目的以学习为主 , 投入成本比较小。
此外,系统管理员和业务员都拥有计算机的专业知识 , 酒店前台工作人员和管理人员不需要经过培训或只要要经过少许培训即可操作本软件。
这样能够为开发本系统节升资本。
同时无纸化办公能够节俭资源,减少后期资源浪费。
所以,开发本系统在经济是可行的。
本程序运用 Microsoft Visual C++ 编译器编写,波及 C 语言的文件读写,构造数组运用及字符串函数有关知识。
重点词:数字化管理酒店管理 C 语言目录摘要 (I)第 1 章绪论 (IV)概括 (IV)酒店管理系统的需求 (IV)酒店管理系统的目前需求 (IV)酒店管理系统的可行性 (V)第 2 章酒店管理系统的功能实现 (V)设计模块 (VI)增添录入信息模块 (VI)2.1.3 删除客房信息模块 (VI)查问节余客房函数 (VI)排序节余客房模块 (VI)输出节余客房函数 (VI)点餐系统 (VI)管理员登岸流程 (VII)主要功能模块数据流程图 (VIII)管理员预办理流程 (IX)登记入住系统 (IX)客房状态查问 (IX)住户信息查问 (X)结账退房系统 (X)系统管理 (X)系统详尽设计任务 (X)第 3 章系统物理配置方案设计 (XI)设计指标 (XI)3.1.1 系统的靠谱性 (XI)3.1.2 系统吞吐量 (XI).系统响应时间 (XI)3.2 计算机硬件配置 (XI)第 4 章软件剖析与设计 (XII)软件运行截图 (XII)登岸界面 (XII)入住与选择界面 (XII)查问界面 (XIII)点菜界面 (XIV)退房结账界面 (XVI)XVII 结论 .............................................................参照文件 (XVIII)XIX 附录 ...............................................................第1 章1.1 概括跟着旅行业的发展,酒店、餐饮娱乐行业日趋发达,引入全方向的电脑服务和电脑管理日趋流行。
基于C的酒店管理系统

基于C的酒店管理系统一. 引言酒店管理系统是一种高效的系统软件,被广泛应用在酒店、旅游服务、民宿等领域中。
这种系统能够对客户信息和酒店服务进行高效管理,提高服务质量,更好地满足客户需求。
基于C语言的酒店管理系统是一种功能齐全的软件,通过对酒店各个方面进行管理,能够帮助酒店管理者及员工提高工作效率,提供更好、更便捷的服务。
二. 功能特点基于C的酒店管理系统采用模块化开发,其功能变得更加复杂、丰富。
以下是该系统的一些功能特点:1. 预订管理:通过预订管理模块,顾客可以在网上预订房间,也可以通过手机客户端进行预订。
酒店管理人员可以及时掌握房间的预订情况,合理调配资源,提高房间利用率。
2. 入住管理:该系统能够对客户信息进行统计和管理,包括姓名、性别、身份证号、联系方式、旅游目的等基本信息,方便员工进行入住登记等操作。
同时,该系统还能协助员工生成客户账单,方便客户结算。
3. 库存管理:这个功能是防止酒店发生物资缺失,同时它也包括了酒店物资库存清单的制作和更新,库存报告的制作和库存区域的划分等作用。
4. 技工服务:该系统还为客人提供技工服务,例如修理电器,更换灯具等。
5. 财务管理:酒店财务功能是酒店管理系统的重要组成部分,财务系统能够及时统计房费、餐费等消费额,同时生成账单、收款、支付等功能为财务管理提供辅助。
三. 系统架构该系统采用C语言编写,工作原理如下:①考虑到用户登录的安全问题,系统提供管理员和普通用户的登录功能;②客房管理模块包括基本数据、预订入住、客房查询等功能;③账务管理模块包括结账、客人账务查询、账务管理等功能;④库存管理模块包括库存信息维护、进货管理、退货管理、报损管理等功能;⑤报表管理模块包括每日报表、各类统计报表等功能;⑥系统设置模块包括用户管理、权限管理、数据备份等功能。
四. 设计流程酒店管理系统一般分为前端和后端两个部分,前端包括酒店网站和移动端,后端包括服务端和数据库。
以下是酒店管理系统的设计流程:1. 需求分析阶段:在这个阶段,需要了解客户的需求、酒店的工作流程和目标客户需求,明确系统的功能和界面设计。
酒店管理系统c语言实训

酒店管理系统c语言实训
本次实训将利用C语言开发一个酒店管理系统,该系统将包括以下模块:
1. 登录模块:实现用户登录和权限控制,管理员和普通用户登录后能看到不同的界面。
2. 客房管理模块:管理员可以添加、修改、删除客房信息,普通用户只能查看客房信息和预订客房。
3. 订单管理模块:管理员和普通用户都可以查看订单信息,管理员还可以修改订单状态。
4. 员工管理模块:管理员可以添加、修改、删除员工信息。
5. 数据统计模块:管理员可以查看酒店的收入、客房利用率等统计数据。
该系统将采用文件存储数据,包括客房信息、订单信息、员工信息等。
同时,还将使用结构体、指针等C语言特性实现数据的存储和操作。
此外,系统的界面将使用C语言的图形界面库进行开发,以增加用户的交互性和易用性。
通过本次实训,学生将掌握C语言的基本语法和数据操作方法,了解实际项目的开发流程和技术要求,提高了解决问题的能力和独立开发的能力。
- 1 -。
c语言酒店管理程序设计报告

+C语言设计报告酒店管理系统院系:机械与电子工程系专业:电子信息工程班级:1430401学号:201230040110姓名:胡强亚指导老师:胡文龙摘要随着个人计算机的的普及,越来越多的重复性工作被交由计算机来完成。
在这种大趋势下,传统的纸质档案管理方式已不适应现代服务业的发展。
数字化的管理成为酒店等行业的必要条件。
酒店客房管理的电脑化对于优化员工工作效率、降低成本及改善服务质量等方面都有十分积极的作用。
本程序是用于酒店客房管理的软件。
它可以实现定退房业务处理,用户信息的记录、查询及房间状态管理等功能。
虽然比较简陋但已具备应用程序的雏形。
本程序运用Microsoft Visual C++编译器编写,涉及C语言的文件读写,结构数组运用及字符串函数相关知识。
关键词:数字化管理酒店管理系统C语言课程设计任务书目录摘要 (1)1软件需求分析说明书 (4)1.1登记入住系统 (4)1.2客房状态查询 (4)1.3住户信息查询 (4)1.4结账退房系统 (4)2 系统分析与设计 (5)2.1软件界面设计 (5)2.2软件的数据(结构)设计 (10)2.3软件的算法设计 (11)2.3.1软件模块图 (11)2.3.2程序流程图 (11)3 软件的实现 (12)3.1使用的结构数组及函数的定义 (13)3.2登记入住模块 (13)3.3查询房间模块 (16)3.4查询房客模块 (17)4 软件测试 (21)5软件使用说明书 (23)1软件需求分析说明书1.1登记入住系统登记并记录顾客姓名登记并记录顾客的证件号码显示现有空置房间选择所需要的房间并更改房间状态信息由于本软件针对操作员设计,所以界面应尽可能简单明了。
住房及顾客信息由于涉及多种类型的数据,因此应用结构数组处理。
用文件记录相关数据。
1.2客房状态查询分别显示已入住客房与空置客房读取住房信息文件的内容并判断分类,借此可以清晰明了的显示客房状态。
1.3住户信息查询查询顾客所租房房号查询顾客住房费用顾客可以通过输入自己的姓名来查询个人的住房信息。
酒店管理系统c语言

酒店管理系统1. 引言酒店管理系统是一种用于管理酒店日常运营的软件系统。
它可以帮助酒店管理人员提高工作效率,提供优质的服务,实现酒店的可持续发展。
本文将介绍一个基于C 语言开发的酒店管理系统,包括系统的功能设计、数据库设计、用户界面设计以及系统测试等内容。
2. 功能设计2.1 客房管理客房管理是酒店管理系统最重要的功能之一。
在该功能下,可以实现以下操作:•客房信息录入:输入客房号码、类型、价格等信息。
•客房信息查询:根据客房号码或类型查询客房信息。
•客房信息修改:修改客房的价格、状态等信息。
•客房状态查询:查询客房的入住状态。
2.2 预订管理预订管理是指对客户预订酒店客房的操作。
在该功能下,可以实现以下操作:•房间预订:根据客户需求,预订适合的客房。
•预订查询:查询已预订的客房信息。
•预订取消:取消已预订的客房。
2.3 入住管理入住管理是指客户入住酒店的操作。
在该功能下,可以实现以下操作:•入住登记:输入客户信息,将客户分配到合适的客房。
•入住查询:查询已入住客房的信息。
•退房办理:将已入住客房标记为可用状态。
2.4 结算管理结算管理是指对客户住宿费用进行结算的操作。
在该功能下,可以实现以下操作:•账单生成:根据客户入住情况,生成相应的账单。
•账单查询:查询客户的消费情况。
•结算处理:对客户账单进行结算。
3. 数据库设计酒店管理系统需要使用数据库来存储和管理数据。
以下是数据库设计的关键表格:3.1 客房信息表字段名类型描述RoomID int 客房号码RoomType varchar 客房类型Price float 客房价格Status int 客房状态CreateTime date 创建时间3.2 预订信息表字段名类型描述ReservationID int 预订号码CustomerID int 客户号码RoomID int 客房号码CheckInDate date 入住日期CheckOutDate date 退房日期3.3 入住信息表字段名类型描述CheckInID int 入住号码CustomerID int 客户号码RoomID int 客房号码CheckInDate date 入住日期3.4 账单信息表字段名类型描述BillID int 账单号码CustomerID int 客户号码RoomID int 客房号码TotalAmount float 总金额4. 用户界面设计用户界面是酒店管理系统与用户进行交互的重要环节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉科技大学C语言程序设计课程设计题目酒店管理系统班级信息与计算科学2班姓名陈诚学号************成绩2015年6 月23 日一、总体设计1、程序的总体设计(1)程序总体设计思路:酒店房间登记管理系统,实现的是房间登记与管理(包括登记入住、查询)为了体现模块化设计,把所有要实现的功能做成函数,采用分步实施的方法逐步细化。
具体分布实施有以下5步。
1,编写模块2,定义实现个功能模块所要函数3,编写各个函数4,理清思路,逐步修改5,调试整个程序。
核心部分是各个函数:1、欢迎界面函数:通过switch进入不同界面。
2、登记入住函数:使用户在入住前登记个人信息,选择房间信息3、查询入住情况函数:顾客可通过两种方式查找到自己的个人信息。
4、查询当前费用函数:顾客可随时查询所用费用5、结账退房函数:所有信息清零。
2、数据结构此系统,选择用结构体存放不同类型的数据,房间信息。
在这过程中由于对指针的运用与操作还不熟练,不方便修改,所以没用指针。
(1)创建房间信息结构体/*结构体hotel 房间号、房间种类、客户姓名、身份证号、入住状态、实际收房费,押金等*/struct hotel{int num; /*房间号*/int kind; /*房间种类1(表示单人间)2(表示双人间)*/char name[20]; /*姓名*/char ID[19]; /*身份证号*/int flag; /*flag 0(表示有人入住)0(表示无人入住)*/int dingjia; /*房间定价*/int shiji; /*实际缴纳费用*/}room[M];3、函数原型声明void welcome(); //主界面int dengji(); //登记入住函数int now_room(); //查询当前房间入住情况int now_feiyong(); //查询当前费用int tuifang(); //结账退房int find(); //查询当前入住人数int kfxinxi(); //客户信息void jiezhang(); //结账付款int quit(); //退出函数int mima();//密码//void save(); //保存//二、详细设计1、主函数设计主函数说明:为满足顾客登记入住,查询房间入住情况,查询当前费用,结账退房等功能的实现,设计此函数。
开始进入欢迎界面让顾客选择,进入顾客所选界面。
主函数流程图2、子函数流程图(1)登记入住函数说明:登记入住流程图(2)查询房间入住情况:2种查询方式(1. 按房号查询2. 客户信息查询),最终输出结账退房流程图三、测试出现欢迎界面测试1:选择选项1,入住登记“1”按提示输入信息(如:1-单人间,1-房间号,陈诚,522225************,200元,登记成功)测试2:选择选项2,查询房间入住情况“1”按房间号查询,1、房间号出现刚登记的个人信息2、房间号该房为空房“2”按客户信息查询,身份证号522225************ 出现个人信“3”退出,返回欢迎界面测试3:选择选项3,查询客户当前费用“1”号房间,当前费用100元测试4:选择选项4,结账退房“2”号房间,空房,重输“1”号房间,应支付100元,退房成功四、小结此程序满足课程设计要求,实现登记、查询、结账等操作,并对不同房间实施不同收费标准,计算总费用等功能。
程序优点:整个程序界面友好,与顾客有良好的界面交流。
程序虽简单,但功能齐全。
程序缺点:(1)数据结构单一。
主要是学习c语言时间短,知识程度不深,不够全面,知道的不多。
(2)不会调用系统时间。
在做课设的过程中,我对c语言有了更深入的了解。
它很考察逻辑的严密性,思路条理要清晰是很重要的,它包含你编写程序的大致方向。
严谨认真的态度也不可或缺。
调试程序过程中也可以提升自己的理解已经加深自身熟练度。
遇到问题要想方设法将它解决,看书找资料,请教同学,与同学讨论,从这些方面我又可以学会合作。
源码://主函数//#define M 40#include<stdlib.h>#include<stdio.h>#include<string.h>#include"dingyi.h"#include"jiegouti.h"#include"find.h"#include"kfxinxi.h"#include"zuizhongfeiyong.h"#include"quit.h"#include"zhujiemian.h"#include"dengji.h"#include"dangqianruzhu.h"#include"dangqianfeiyong.h"#include"tuifang.h"#include"mima.h"#include"save.h"#include"duru.h"/*主函数*/void main(){int i,j;mima(); //密码//duru(); //读入数据//welcome(); //载入主界面//scanf("%d",&i);switch(i){case 1:j=dengji();break;case 2:j=now_room();break;case 3:j=now_feiyong();break;case 4:j=tuifang();break;case 5:exit(0);default:quit();}while(j!=0) //操作结束可返回主界面//{welcome();scanf("%d",&i);switch(i){case 1:j=dengji();break;case 2:j=now_room();break;case 3:j=now_feiyong();break;case 4:j=tuifang();break;case 5:exit(0);default: quit();}}}/*登记入住*/int dengji(){int i,j,a,k,n;system("cls");printf("\n\n☆☆☆☆☆☆☆登记入住☆☆☆☆☆☆☆\n\n"); printf("请选择房间类型:\n\n");printf("1.单人间2.双人间\n\n");scanf("%d",&n);switch(n){case 1:printf("现在空闲的单人房间有: \n");for(i=1,j=0;i<=M;i=i+2)if(room[i-1].flag==0){printf("%d\t",i);j++;if(j%5==0)printf("\n");} //控制每行输出个数//printf("安排客户想要的房间: ");scanf("%d",&k);while(k%2==0){printf("!房号输入错误,请重新输入\n");scanf("%d",&k);}room[k-1].kind=1;room[k-1].num=k;printf("\n请输入客户的姓名: ");scanf("%s",room[k-1].name);printf("\n请输入客户的身份证号: ");scanf("%s",room[k-1].ID);while(strlen(room[k-1].ID)!=18){printf("!输入有误,请重新输入\n");scanf("%s",room[k-1].ID);}room[k-1].dingjia=100;printf("\n\n应当缴纳房费%d元",room[k-1].dingjia);printf("\n\n实际缴纳的金额为: ");scanf("%d",&room[k-1].shiji);while(room[k-1].shiji<room[k-1].dingjia){printf("\t\t\n\n! 输入有误,请重新输入!\n\n");printf("\n\n实际缴纳的金额: ");scanf("%d",&room[k-1].shiji);}printf("\n\n是否确认入住(1-是2-否)\n");scanf("%d",&a);while(a!=1&&a!=2){printf("\n\n\t\t!输入有误,请重新输入: ");scanf("%d",&a);}if(a==1){ room[k-1].flag=1;printf("\n已成功登记!\n\n");save();}break;case 2:printf("现在空闲的双人房间有: \n\n");for(i=2,j=0;i<=M;i=i+2)if(room[i-1].flag==0){printf("%d\t",i);j++;if(j%5==0)printf("\n\n");} //控制每行输出个数//printf("安排客户想要的房间: ");scanf("%d",&k);while(k%2!=0){printf("!房号输入错误,请重新输入:\n");scanf("%d",&k);}room[k-1].kind=2;room[k-1].num=k;printf("\n请输入客户的姓名: ");scanf("%s",room[k-1].name);printf("\n请输入客户的身份证号: ");scanf("%s",room[k-1].ID);while(strlen(room[k-1].ID)!=18){printf("!输入有误,请重新输入:\n");scanf("%s",room[k-1].ID);}room[k-1].dingjia=200;printf("\n\n应当缴纳房费%d元",room[k-1].dingjia); printf("\n\n实际缴纳的金额为: ");scanf("%d",&room[k-1].shiji);while(room[k-1].shiji<room[k-1].dingjia){printf("\t\t\n\n!输入有误,请重新输入:\n\n");printf("\n\n实际缴纳金额为: ");scanf("%d",&room[k-1].shiji);}printf("\n\n是否确认入住(1-是2-否)\n");scanf("%d",&a);while(a!=1&&a!=2){printf("\n\n\t\t!输入有误,请重新输入: ");scanf("%d",&a);}if(a==1){ room[k-1].flag=1;printf("\n已成功登记!\n\n");save();}break;default: quit();}quit();return 1;}//读取函数//void duru(){FILE *fp;int i;if((fp=fopen("kf_dat","rb"))==NULL){printf("cannot open file \n");return ;}for(i=0;i<M;i++){fread(&room[i],sizeof(struct hotel),1,fp);}fclose(fp);}/*查询入住人数*/int find(){int number=0;int i;for(i=0;i<M;i++)if(room[i].flag!=0)number++;return (number);}/*客户信息*/int kfxinxi(int k){char zhonglei[10];switch(room[k].kind){case 1:strcpy(zhonglei,"单人间");break;case 2:strcpy(zhonglei,"双人间");break;}printf("\n\n\t\t----姓名: ");puts(room[k].name);printf("\n\n");printf("\t\t----身份证号: ");puts(room[k].ID);printf("\n\n");printf("\t\t----房间种类: ");puts(zhonglei);printf("\n\n");printf("\t\t----房间号: ");printf("%d",k+1);printf("\n\n");printf("\t\t----实收房费: ");printf("%d元",room[k].shiji);printf("\n\n");return(1);}//密码//int mima(){system("color 8f");char name[10],mima[20];printf("进入系统前请输入用户名和密码:\n");scanf("%s%s",name,mima);while((strcmp(name,"CC")!=0)||(strcmp(mima,"02200059")!=0))//比较输入的和用户密码是否一致//{printf("输入错误,重新输入!\n");scanf("%s%s",name,mima);}system("cls");return (1);}/*查询当前费用*/int now_feiyong(){int money,n;int i,s;system("cls");printf("\n\n☆☆☆☆☆☆☆查询当前客户费用☆☆☆☆☆☆☆\n\n");if(find()==0)printf("全为空房!\n\n");else{printf("请输入房间号: ");scanf("%d",&i);while(1){if(room[i-1].flag==0){printf("\n\n该房为空房,1.重输2.退出\n\n");scanf("%d",&s);if(s==1){printf("请输入房间号: ");scanf("%d",&i);}elsebreak;}else{printf("\n\n查询的个人信息为: ");kfxinxi(i-1);printf("\n\n当前房间定价为: %d",room[n-1].dingjia);break;}break;}}quit();return 1;}/*查询当前房间入住情况*/int now_room(){int i,j,k,s;char a[20];system("cls");printf("\n\n☆☆☆☆☆☆☆查询房间入住☆☆☆☆☆☆☆\n\n"); printf("\t\t1. 按房号查询\n\n\t\t2. 按客户信息查询\n\n\t\t3. 退出"); printf("\n\n请选择: ");scanf("%d",&i);while(1){if(i>4||i<1){printf("\n\n\t\t 输入有误,请重新输入: ");scanf("%d",&i);}else if(i==1){printf("\n\n请输入房间号: "); //按房号查询scanf("%d",&j);if(room[j-1].flag==0)printf("\n\n此房间无人住\n\n");else{printf("您的个人信息为: ");kfxinxi(j-1);}break;}else if(i==2){printf("\n\n请输入您的身份证号: "); //按客户信息查询scanf("%s",a);while(1){for(k=0;k<M;k++)if(strcmp(a,room[k].ID)==0)break;if(k!=M){printf("\n\n您的个人信息为: ");kfxinxi(k);break;}else{printf("\t\t\n\n1. 输入有误,请重新输入2.不存在此人信息,退出\n\n");scanf("%d",&s);if(s==1){printf("\n\n请输入您的身份证号: ");scanf("%s",a);}else return(1);}}break;}else if(i==3)break;else{printf("\t\t\n\n1. 输入有误,请重新输入\n\n");printf("\t\t1. 按房号查询\n\n\t\t2. 按客户信息查询\n\n\t\t3. 按入住时间查询\n\n\t\t4. 退出");printf("\n\n请选择: ");scanf("%d",&i);}}quit();}/*退出函数*/int quit(){int y;printf("是否需要返回主界面? 1-是2-否\n\n");scanf("%d",&y);if(y==1)welcome();elseprintf("****** 欢迎下次光临武科大酒店******!\n\n"); return 1;}//保存函数//void save(){FILE *fp;int i;if((fp=fopen("kf_dat","wb"))==NULL){printf("cannot open file \n");return ;}for(i=0;i<M;i++)if(fwrite(&room[i],sizeof(struct hotel),1,fp)!=1)printf("file write error \n");fclose(fp);}/*最终收的费用*/void shoufei( int dingjia,int shiji){int yu;yu=shiji-dingjia;if(yu==0)printf("费用刚刚好,不用找零或补钱\n");else if(yu>0)printf("找还顾客%d元\n",yu);else printf(" 顾客应再支付%d元\n",yu*(-1));}/*结账退房*/int tuifang(){char zhonglei[30];int n,m;system("cls");printf("\n\n☆☆☆☆☆☆☆结账退房☆☆☆☆☆☆☆\n\n"); if(find()==0)printf("房间都是空的!\n\n");else{printf("请输入需要退房的房号: ");scanf("%d",&n);if(n>M||n<1){printf("\n\n输入有误,请重新输入:",M);scanf("%d",&n);}if(room[n-1].flag==0)printf("空房,无法办理退房!\n\n");switch(room[n-1].kind){case 1:strcpy(zhonglei,"单人间");break;case 2:strcpy(zhonglei,"双人间");break;}printf("房间号: %d\n房间类型: %s\n客人姓名: %s\n身份证号: %s\n",room[n-1].num,zhonglei,room[n-1].name,room[n-1].ID);printf("\n\t房间定价为: %d\n",room[n-1].dingjia);if(room[n-1].flag==1)shoufei(room[n-1].dingjia,room[n-1].shiji);printf("\n\n是否退房(1.是2.否) : ");scanf("%d",&m);if(m==1){room[n-1].flag=0;strcpy(room[n-1].name,"0");room[n-1].shiji=0;printf("\n\n您已成功退房,欢迎下次光临!\n\n");save();}}quit();return 1;}/*主界面*/void welcome(){int n;n=find();system("color 4F");printf("--------------------------------------------------------------------------------");printf("▼▼▼▼▼▼▼▼▼▼▼▼▼▼欢迎进入武科大酒店管理系统▼▼▼▼▼▼▼▼▼▼▼▼▼\n");printf("\t ★★★1. 入住登记\n\n");//dengji()//printf("\t ★★★2. 查询当前房间入住情况\n\n");// now_room()//printf("\t ★★★3. 查询客户当前费用\n\n"); //now_feiyong()//printf("\t ★★★4. 结账退房\n\n");// tuifang()//printf("\t ★★★5. 退出系统\n\n");//printf("\t\t\t\t\t酒店总房间数: %d \n\t\t\t\t\t当前剩余数: %d\n",M,M-n);printf("\n▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲\n");printf("请根据序号进行下一步: \n");}/*结构体hotel 房间号、房间种类、客户姓名、身份证号、入住状态、实际收房费,押金等*/struct hotel{int num; /*房间号*/int kind; /*房间种类1(表示单人间)2(表示双人间)*/char name[20]; /*姓名*/char ID[19]; /*身份证号*/int flag; /*flag 0(表示有人入住)0(表示无人入住)*/int dingjia; /*房间定价*/int shiji; /*实际缴纳费用*/}room[M];//头文件用来声明函数//void welcome(); //主界面int dengji(); //登记入住函数int now_room(); //查询当前房间入住情况int now_feiyong(); //查询当前费用int tuifang(); //结账退房int find(); //查询当前入住人数int kfxinxi(); //客户信息void jiezhang(); //结账付款int quit(); //退出函数int mima();//密码//void save(); //保存//。