C语言实验分析报告-酒店管理系统
(完整版)C语言酒店管理系统

for(y=0;y<5;y++)
{
if(room[x][y]==0)
{
printf("空%d-%d |",x+1,y+1);
}else
{
printf("住%d-%d |",x+1,y+1);
}
if(y+1==5)
{
if(x+1==1||x+1==2)
printf("该层标间均50元");
else
printf("该层标间均100元");
printf("\t2.查询房间的入住情况\n");
printf("\t3.查询当前费用\n");
printf("\t4.结账退房\n");
printf("\t5.退出程序\n");
}
void hotel_execute();
void hotel_select();
void hotel_outhotel();
{
printf("|-------|--------|--------|--------|--------|--------|\n|第%d层|",x+|-------|--------|--------|--------|--------|--------|\n|第%d层|",x+1);
}
}
}
printf("\n|-------|--------|--------|--------|--------|--------|\n");
酒店管理系统C课程设计报告

《酒店管理系统》程序设计基础课程设计报告专业:计算机科学与技术班级:11计科1班姓名:指导教师:2012 年7 月 2 日1、课程设计题目描述和要求1.1课程题目:酒店管理系统1.2 课程要求:1.屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,如不同级别房间价格的查询、修改、刷除等。
2.对不同标准的房间实施不同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在等级的入住的时候进行选择。
3.月底进行结算,实收多少,应收多少。
2、课程设计目的:通过C++语言编程实现酒店管理系统的基本功能。
酒店管理系统的实现核心是要录入客人信息并在退房时结算,同时具有月底结算功能。
此程序重在满足其要求,使用者可以方便的使用。
也可以根据自己的需求对程序进行优化。
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语言实现的宾馆客房管理系统课程设计报告

目录一、课程设计题目 (2)二、运行环境(软、硬件环境) (2)三、算法设计的思想 (2)四、算法的流程图 (2)五、算法设计分析 (3)六、源代码 (3)七、运行结果分析 (9)八、收获及体会 (12)一、课程设计题目宾馆客房管理系统。
二、运行环境(软、硬件环境)中文版Windows XP和Microsoft Visual C++ 6。
0。
三、算法设计的思想1.定义宾馆客房管理信息结构体Hotel—Info。
2.建立一个简易的选择菜单,通过输入选择执行的动作。
3.主函数中,用switch case 实现选择功能,7项功能通过7个分支实现,每个对应一个函数。
4.写函数,包括Insert-插入,Amend-修改,Demand—查询,Del—删除,Skim—浏览,Balance—结算.5.源程序可运行之后,将其数据、信息输入到文档中,使其能存档,可以写入文件和读出文件。
6.对程序进行修改、完善。
四、算法的流程图图1 算法流程图五、算法设计分析1.这是一个小型的管理系统,使用结构体数组存储客房的信息. 2.一般的管理系统都应该具备插入,修改,查询,删除,浏览等功能,通过使用一个简易菜单进行执行动作的选择。
3.用函数实现模块化设计,调理清晰,使程序易读写。
4.把程序与文件联系,使数据能存储在磁盘中,更具实用性.六、源代码1结构体struct Hotel_Info{char name[N],type[N],ID_card[N],in_time[N],leave_time[N];char idly[N];int prize,num,ad_payment;}Info[N];2主函数int main(){FILE *fp;int i=0;fp=fopen("d:\\hotel manage system.tx t”,”r");//fscanf(fp,”%d",&n);// for(i=0;i<n;i++)while(!feof(fp)){int a;fscanf(fp,”%d”,&a);fscanf(fp," 客房号:%d”,&Info[i].num);fscanf(fp," 空闲情况:%s",Info[i]。
用C语言实现的宾馆客房学习管理系统课程设计报告总结计划

目录一、课程设计题目......错误!未指定书签。
二、运转环境(软、硬件环境)错误!未指定书签。
三、算法设计的思想..错误!未指定书签。
四、算法的流程图......错误!未指定书签。
五、算法设计剖析......错误!未指定书签。
六、源代码..................错误!未指定书签。
七、运转结果剖析......错误!未指定书签。
八、收获及领会..........错误!未指定书签。
一、课程设计题目旅馆客房管理系统。
二、运转环境(软、硬件环境)中文版WindowsXP和。
三、算法设计的思想1.定义旅馆客房管理信息构造体Hotel-Info 。
2.成立一个简略的选择菜单,经过输当选择履行的动作。
3.主函数中,用switchcase 实现选择功能,7项功能经过7个分支实现,每个对应一个函数。
4.写函数,包含Insert- 插入,Amend-改正,Demand查-询,Del-删除,Skim-阅读,Balance-结算。
5.源程序可运转以后,将其数据、信息输入到文档中,使其能存档,能够写入文件和读出文件。
6.对程序进行改正、完美。
四、算法的流程图写函数开始联系文件定义构造体Hotel-Info改正、完美结束成立选择菜单写主函数,实现选择功能图1算法流程图五、算法设计剖析这是一个小型的管理系统,使用构造体数组储存客房的信息。
2.一般的管理系统都应当具备插入,改正,查问,删除,阅读等功能,经过使用一个简略菜单进行履行动作的选择。
用函数实现模块化设计,调治清楚,使程序易读写。
把程序与文件联系,使数据能储存在磁盘中,更具适用性。
六、源代码构造体structHotel_Info{charname[N],type[N],ID_card[N],in_time[N],leave_time[N];charidly[N];intprize,num,ad_payment;}Info[N];主函数intmain(){FILE*fp;inti=0;fp=fopen("d:\\hotelmanagesystem.txt","r");//fscanf(fp,"%d",&n);for(i=0;i<n;i++)while(!feof(fp)){inta;fscanf(fp,"%d",&a);fscanf(fp,"客房号:%d",&Info[i].num);fscanf(fp,"安闲状况:%s",Info[i].type);fscanf(fp,"客房种类:%s",Info[i].idly);fscanf(fp,"客房价钱:%d",&Info[i].prize);fscanf(fp,"客户姓名:%s",Info[i].name);fscanf(fp,"身份证:%s",Info[i].ID_card);fscanf(fp,"预支款:%d",&Info[i].ad_payment);fscanf(fp,"入住时间:%s",Info[i].in_time);fscanf(fp,"退房时间:%s",Info[i].leave_time);i++;}fclose(fp);n=i-1;intm;do{printf("\n");printf("***************************************************\n"); printf("1————登记。
基于C的酒店管理系统

基于C的酒店管理系统一. 引言酒店管理系统是一种高效的系统软件,被广泛应用在酒店、旅游服务、民宿等领域中。
这种系统能够对客户信息和酒店服务进行高效管理,提高服务质量,更好地满足客户需求。
基于C语言的酒店管理系统是一种功能齐全的软件,通过对酒店各个方面进行管理,能够帮助酒店管理者及员工提高工作效率,提供更好、更便捷的服务。
二. 功能特点基于C的酒店管理系统采用模块化开发,其功能变得更加复杂、丰富。
以下是该系统的一些功能特点:1. 预订管理:通过预订管理模块,顾客可以在网上预订房间,也可以通过手机客户端进行预订。
酒店管理人员可以及时掌握房间的预订情况,合理调配资源,提高房间利用率。
2. 入住管理:该系统能够对客户信息进行统计和管理,包括姓名、性别、身份证号、联系方式、旅游目的等基本信息,方便员工进行入住登记等操作。
同时,该系统还能协助员工生成客户账单,方便客户结算。
3. 库存管理:这个功能是防止酒店发生物资缺失,同时它也包括了酒店物资库存清单的制作和更新,库存报告的制作和库存区域的划分等作用。
4. 技工服务:该系统还为客人提供技工服务,例如修理电器,更换灯具等。
5. 财务管理:酒店财务功能是酒店管理系统的重要组成部分,财务系统能够及时统计房费、餐费等消费额,同时生成账单、收款、支付等功能为财务管理提供辅助。
三. 系统架构该系统采用C语言编写,工作原理如下:①考虑到用户登录的安全问题,系统提供管理员和普通用户的登录功能;②客房管理模块包括基本数据、预订入住、客房查询等功能;③账务管理模块包括结账、客人账务查询、账务管理等功能;④库存管理模块包括库存信息维护、进货管理、退货管理、报损管理等功能;⑤报表管理模块包括每日报表、各类统计报表等功能;⑥系统设置模块包括用户管理、权限管理、数据备份等功能。
四. 设计流程酒店管理系统一般分为前端和后端两个部分,前端包括酒店网站和移动端,后端包括服务端和数据库。
以下是酒店管理系统的设计流程:1. 需求分析阶段:在这个阶段,需要了解客户的需求、酒店的工作流程和目标客户需求,明确系统的功能和界面设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言实验报告-酒店管理系统————————————————————————————————作者:————————————————————————————————日期:武汉科技大学C语言程序设计课程设计题目酒店管理系统班级信息与计算科学2班姓名陈诚学号201407119043成绩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. 客户信息查询),最终输出登 记入 住房 间 已住 满 ?已住未住满输入相关信息输入有误?成功登记结束返回主函数YN查询房间入住情况选择查询方式(i)1. 按房号查询2. 按客户信息查询i i i输入房间号输入身份证号返回函数结否否是是输出个人信息结束结账退房全为空?返回主函数输入房间号空房?显示客户信息输入相关信息结束结账退房流程图三、测试出现欢迎界面测试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(); //保存//。