《2022年《C语言课程设计》酒店登记入住与计费管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年《C语言课程设计》酒店登记入住与计费管理系统 .pdf(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、酒店房间登记与计费管理系统1 湖南涉外经济学院课程设计报告课程名称:高级语言程序设计报告题目:酒店登记入住与计费管理系统学生姓名:所在学院:信息科学与工程学院专业班级:学生学号:指导教师:2015 年 12 月 31 日名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 32 页 -酒店房间登记与计费管理系统2 课程设计任务书报告题目酒店登记入住与计费管理系统完成时间学生姓名专业班级指导教师职称总体设计要求和技术要点【题目要求】(1)屏幕上出现一个界面,让操作员能够方便的选择所需要进行的操作,包括登记入住、查询房间的入住情况、查询当前费用、结账退房等操作。(2)对不同标准的房间实施不
2、同的收费标准,也可以按天收费或按小时收费,可根据顾客需要在登记的入住的时候进行选择。(3)在结账退房时,根据入住的时间,计费方式和房间单价计算出总费用。要求用 C 语言的文件操作语句将以上所有结果分别保存在文件中。【输入/输出要求】(1)应用程序运行后,先显示一个菜单,然后用户根据需要选择相应的操作项目。进入每个操作后,根据程序的提示输入相应的信息;(2)要求用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。根据题目要求,运用所学知识,完成设计和实现工作,并按照书写规范,撰写课程设计报告。工作内容及时间进度安排第一周周一:明确设计任务,学习相关基础知识周二:熟悉
3、各知识点,进行基础练习周三:根据题目要求,进行设计和实现周四:根据题目要求,进行设计和实现第二周周一至周三:根据题目要求,进行设计和实现周四:撰写报告,进行答辩课程设计成果1与设计内容对应的软件程序2课程设计总结报告3.成功运行软件名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 32 页 -酒店房间登记与计费管理系统3 摘要本次 C 语言课程设计我们选择的设计任务是酒店管理系统设计,这个管理系统是用 C 语言在 VC 6.0 c+的编译器编译而成的。客房管理系统包括客户基本信息的录入、房间统计、用户个人费用及住房信息查询、自动结账、退出系统功能等。系统的开发主要由分析、查阅相关书
4、籍和参考资料、程序设计、编写代码、运行实施、调试和测试、维护和修改等阶段组成,其中信息管理和自动运行为开发的重点。在程序设计中结构体的调用与各函数、数组的调用为编译的重点部分。关键词:结构体 函数 数组名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 32 页 -酒店房间登记与计费管理系统4 目录课程设计任务书.2 1.1 需求分析.5 1.2 软件功能简介.5 1.2.2 查询房间入住情况.5 1.2.3 查询当前费用.5 1.2.4 结账退房.5 1.3 界面、数据结构要求.5 2.1 软件界面设计.6 2.1.1 首页欢迎界面.6 2.1.2 登记入住界面.7 2.1.3 客
5、户入住信息查询界面.8 2.1.4 客户个人费用查询界面.8 2.1.5 客户退房结账界面.9 2.1.6 客户结账收退支付费用结账界面.9 2.1.7 用户退出系统界面.10 2.2 软件的数据(结构)设计.10 2.3 软件的算法设计.11 2.3.1主要结构模块框图.11 3.1.1 int dengji().13 3.1.2 int lookfor_room().13 3.1.3 int lookfor_price().13 3.1.4 int tuifang().13 4.2 测试用例.15 4.2.1 void welcome();/首页欢迎界面.15 4.2.2 int deng
6、ji().15 1.单人间2.双人间.15 4.2.3 int lookfor_room();/用来查询房间入住情况 .15 4.2.4 int lookfor_price();/用来查询当前费用.15 4.2.5 int tuifang();/用来结账退房.16 4.2.6 void yingzhifu();/用来结账付款 .16 4.2.7 int quit();/退出函数 .16 7.1 苏小红孙志刚陈惠鹏等.语言大学实用教程.电子工业出版社.2012 年版.20 7.2 Al Kelley 等.语言解析教程.机械工业出版社.2006年版.20 7.3 张高煜等.语言程序设计实例.中国水
7、利水电出版社.2001 年版20 7.4 何钦铭 颜晖.语言程序设计.高等教育出版社.2008年版.20 7.5 谭浩强张基温.语言程序设计教程.高等教育出版社.2006 年版.20 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 32 页 -酒店房间登记与计费管理系统5 第 1 章.软件需求说明书1.1 需求分析随着时代的进步、科学的发展,对信息技术的要求也越来越高。而顾客对各大酒店和客房的要求也越来越高,酒店以前的全人工服务已经不能满足顾客和以及现代信息化时代的要求。顾客选择入住酒店时也会选择更加现代化和信息化的更加方便快捷的现代化服务酒店。所以现在各大酒店也都向着信息化和现
8、代化的方向发展,引进更加先进和方便的酒店管理和服务系统。计算机的自动化管理系统提高了酒店管理的管理水平和工作效率,增强酒店的竞争能力降低成本,为客户提供更加优质的服务。所以需要开发一个计算机系统来代替人工管理酒店客户入住登记和信息查询等方面的工作。使用该系统可以使酒店的服务更加快捷、准确和方便,减少大量的人工操作,提高了工作效率。1.2 软件功能简介1.2.1 登记入住自动登记顾客的各人信息,包括顾客姓名、身份证件、证件号码、选择房间种类、计费方式、押金交付等功能。1.2.2 查询房间入住情况1.2.3 查询当前费用1.2.4 结账退房1.3 界面、数据结构要求屏幕上显示一个界面,界面要求简洁
9、美观,让操作员能够根据具体的提示信息方便的选择所需要进行的操作。用户输入数据时,要给出清晰、明确的提示信息,包括输入的数据内容、格式及结束方式等。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 32 页 -酒店房间登记与计费管理系统6 第 2 章.系统分析与设计2.1 软件界面设计2.1.1 首页欢迎界面名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 32 页 -酒店房间登记与计费管理系统7 2.1.2 登记入住界面名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 32 页 -酒店房间登记与计费管理系统8 2.1.3 客户入住信息查询界面2.1.4 客户
10、个人费用查询界面名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 32 页 -酒店房间登记与计费管理系统9 2.1.5 客户退房结账界面2.1.6 客户结账收退支付费用结账界面名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 32 页 -酒店房间登记与计费管理系统10 2.1.7 用户退出系统界面2.2 软件的数据(结构)设计主要所用的结构体、函数和变量的数据类型struct date/定义结构体 date,记录入住和结账时间 int mon;/整形int 格式控制符为%d int day;int hour;struct costoem/定义结构体 costoem in
11、t num;/房间号格式控制符为%d int kind;/房间种类1-单人间 2-双人间char name20;/客户信息/字符型 char 格式控制符为%s char ID19;/身份证号int h_money;/按小时收费价格int d_money;/按天收费价格格式控制符为%d 名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 32 页 -酒店房间登记与计费管理系统11 struct date time;/入住时间time 被说明为 data结构类型。成员名可与程序中其它变量同名,互不干扰。int flag;/入住状态,flag:0无人入住1按小时入住2按天入住int de
12、posit;/押金roomM;2.3 软件的算法设计2.3.1主要结构模块框图结账退房酒店管理系统入住登记房间查询费用查询结账退房名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 32 页 -酒店房间登记与计费管理系统12 2.3.2 具体模块使用结构流程顾客欢迎菜单退出系统登记成功信息查询输入个人信息入住登记按 3 种方式查询结账退款名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 32 页 -酒店房间登记与计费管理系统13 第3章.软件的实现3.1 关键代码分析3.1.1 int dengji()登 记 入 住 函 数,主 要 可 以 实 现 登 记 顾 客 的
13、 个 人 信 息,包 括 姓 名(roomk-1.name)、身 份 证 件 及 其 号 码(roomk-1.ID)、选 择 房 间 种 类(roomi-1.flag)、选 择 房 间 号 码(roomk-1.num)、选 择 计 费 方 式(roomk-1.h_money,roomk-1.d_money)、选 择 是 否 入 住、登 记 入 住 日 期(&roomk-1.time.mon、&roomk-1.time.day、&roomk-1.time.hour)、应缴纳押金金额(roomk-1.deposit)和是否退回到欢迎菜单主页面(quit())等功能。3.1.2 int lookfo
14、r_room()顾客查询房间入住情况函数,主要可以实现顾客个人信息的查询可以显示包括姓名、省份证号、房间号、房间种类、押金金额、入住日期等信息。主要有三种查询方式,一是按房号查询(roomj-1.flag,per_infor);二是按客户信息查询(strcmp(a,roomk.ID,per_infor)三 是 按 入 住 信 息(入 住 日 期)查 询(tim_t.mon=roomk.time.mon&tim_t.day=roomk.time.day,per_infor)。3.1.3 int lookfor_price()顾客查询到目前为止所消费费用函数,主要可以实现顾客所消费的费用金额,以输
15、入要查询的日期进行计算(&end.mon、&end.day、&end.hour),显示顾客当前以不同方式计费方式所消费金额(H%ldnn,h_jifei(end,roomi-1.time,roomi-1.h_money)/D%ldnn,d_jifei(end,roomi-1.time,roomi-1.d_money))。3.1.4 int tuifang()名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 32 页 -酒店房间登记与计费管理系统14 结账退房函数主要实现输入要退的房间号(roomn-1.kind),自动对比是单人间还是双人间(strcpy(zhonglei,单人间
16、,strcpy(zhonglei,双人间),然后按相应的计费方式(strcpy(fangshi,按小时计费,strcpy(fangshi,按天计费),输入结账时间(&end.mon,&end.day,&end.hour),显示顾客当前消费金额,然后对比金额与押金的多少,多退少补。如果小与押金,则酒店退给顾客押金剩余 金 额,如 果 大 押 金 金 额,则 顾 客 进 行 补 支 付 金 额(yingzhifu(money,roomn-1.deposit)。名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 32 页 -酒店房间登记与计费管理系统15 第4章.软件测试4.1 函数简介
17、void welcome();/首页欢迎界面int dengji();/用来登记入住int lookfor_room();/用来查询房间入住情况int lookfor_price();/用来查询当前费用int tuifang();/用来结账退房int find();/用来查找入住人数long h_jifei();/按小时计费long d_jifei();/按天计费int per_infor();/显示个人信息void yingzhifu();/用来结账付款int quit();/退出函数4.2 测试用例4.2.1 void welcome();/首页欢迎界面用例 1:input 1 outpu
18、t 登记入住用例 2:input 3 output 查询当前费用用例 3:input 4 output 结账退房4.2.2 int dengji()用例 1:input 1 output 请选择房间类型:1.单人间2.双人间用例 2:input 2 output 按小时收费为 30 元/时用例 3:input 100 output 输入有误,请重新输入4.2.3 int lookfor_room();/用来查询房间入住情况用例 1:input 15 output 此间房无人住用例 2:input 4 output 输入有误,请重新输入用例 3:input 2 output 请输入您的身份证号4
19、.2.4 int lookfor_price();/用来查询当前费用用例 1:input 1 10 15 output 您当前所消费的费用:H740 名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 32 页 -酒店房间登记与计费管理系统16 用例 2:input 1 30 15 output 您当前所消费的费用:D990 4.2.5 int tuifang();/用来结账退房用例 1:input 17 output 当前房间尚未有人住,无法办理退房手续!用例 2:input 1 31 18 output 当前费用:D 1770 用例 3:input 1 output 您已成功退
20、房,欢迎您下次光临!4.2.6 void yingzhifu();/用来结账付款用例 1:input 1 output 您当前所消费的费用:D400 顾客应支付 D300 用例 2:input 2 output 酒店应找还顾客 100 元4.2.7 int quit();/退出函数用例 1:input 1 output 返回进入主菜单欢迎界面用例 2:input 2 output*谢谢您的惠顾,欢迎您下次光临!*!名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 32 页 -酒店房间登记与计费管理系统17 第 5 章.软件使用说明书我们本次设计的是酒店入住登记和和计费管理系统,它
21、的操作更加简便,方便,快捷。顾客可根据具体的信息提示,进行一步步操作。以下是该软件的使用说明书。酒店房间登记与计费管理系统总共有五大模块功能。顾客入住登记、客房(人数)入住信息查询讯、顾客当前消费金额费用查询、结账退房和退出系统五大块。第一大块功能顾客进入欢迎界面,系统会首先判断入住人数与房间总数是否向相等。如果相等,会显示当前客房已满,您是否返回主菜单。如果客房没有满,会显示让您选择房间类型(单人间或双人间),然后显示所有空房间号让您自己选择,等你输入完准备入住的房间号码后,会让您选择计费方式(按小时收费,按天收费),如果输入有误,会让您输入您的姓名、身份证号、应交押金金额,输入有误就请重新
22、输入。当输入应实际缴纳押金金额后,“是否入住?”如果入住请您输入入住时间(入住时的*月*日*时),然后会对比您选择的相应计费方式和房间爱你种类,最后会显示“您已登记成功”。退出返回第二大块功能是顾客查询房间入住情况,在主菜单点击进入房间入住情况查询后,会显示三种查询方式,1:按房号查询(输入房间号码、2:按个人信息查询(输入身份证号码)、3:按顾客入住时的日期时间查询(输入顾客登记入住时的日期)。三种查询方式都有如果输入错误,就请重新输入。如果按房间号码和入住日期两种方式查询,输入房间人没有入住,系统会显示“此间房间无人入住登记”,请选择是否退出返回主菜单?第三大块功能是顾客查询到目前为止所消
23、费的费用金额。在主菜单点击进入查询您当前消费费用情况查询后,系统会首先判断客房是否全部为空,如果为空会系统会显示“当前客房全部为空房,没有数据可以查询!”则不会让您输入您所入住的房间号码,如果输入错误,输入房间没有人住会显示“该房为空房,没有顾客入住 1.请您重新输入 2.退出”。输入房间号正确后,就会显示您的个人信息(包括姓名、身份证号、房间号、房间种类、房间的计费方式、应交押金金额等信息),然后请您输入你所要查询的截止日期时间,之后就会显示您当前所消费的金额为(D/H)¥元。第四大块功能是结账退出功能。在主菜单点击进入结账退房界面后,系统会首先判断寻找客房是否为空房,如果为空则会显示“当前
24、房间尚未有人入住,无名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 32 页 -酒店房间登记与计费管理系统18 法办理退房手续!”。不为空的话就会让您输入您所要退订的房间号码,输入有误请重新输入。输入正确后系统会自动寻找和对比你所住房间类型和计费方式,最后显示顾客的个人信息,姓名、身份证号、房间号、房间类型。然后让你输入结账时间,之后就显示、房间的计费方式、实交押金金额,之后输出您的消费费用金额。然后对比与押金金额的大小,大于押金则会显示减去押金金额后您还应该支付金额,“您应支付(D/H)¥元”;如果小于押金金额,从押金中扣去相应金额之后会找退您剩余的金额。第五大块功能就是退出
25、系统功能。当执行完其余每项操作后会显示你是否需要返回欢迎界面。是就返回否就直接退出系统。名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 32 页 -酒店房间登记与计费管理系统19 第 6 章.致谢经过紧张的两周的奋斗,从周一开始的老师发给同学们任务书,然后先给同学们讲解关于课程设计的相关目的,能力目标要求。进度要求为周一:明确设计任务,学习相关基础知识,周二:熟悉各知识点,进行基础练习,周三:根据题目要求,进行设计和实现,周四:根据题目要求,进行设计和实现,第二周也基本在做这事,第二周周五进行答辩。然后老师周一和周二先讲解了与报告相关的知识点和大致概要,之后就让我们自己进行查阅
26、相关资料,书籍、文献了解相关基础知识,构思、设计、上机操作编写代码,调试和测试,最后调试修改成功后就可以进行课程设计报告的编写。最后一天就是进行答辩过程。完成后本次设计就算成功。在此过程中每天机房都会为学生开放半天时间,期间老师一直都在机房对各个学生进行悉心指导,答疑解惑,对学生搞不懂得问题和马虎大意出现的的问提进行指点和辅导。所以在这里首先要感谢为我们辅导的刘琼老师。感谢他的帮助和指导。然后要感谢的是在编写程序当中,帮我们解答疑问和不懂知识点的地方的同学和朋友。感谢他们的帮助,没有老师和同学他们的帮助,在规定时间内我们是不可能圆满完成此次课程设计报告的。再次感谢你们,是你们让我们深刻感受到了
27、不耻下问,三人行必有我师的明理。谢谢。名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 32 页 -酒店房间登记与计费管理系统20 第 7 章.参考文献7.1 苏小红 孙志刚 陈惠鹏等.语言大学实用教程.电子工业出版社.2012 年版7.2 Al Kelley 等.语言解析教程.机械工业出版社.2006 年版7.3 张高煜等.语言程序设计实例.中国水利水电出版社.2001 年版7.4 何钦铭 颜晖.语言程序设计.高等教育出版社.2008年版7.5 谭浩强张基温.语言程序设计教程.高等教育出版社.2006 年版名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 32 页
28、 -酒店房间登记与计费管理系统21 第 8 章.附录#include#include#include#include#define M 60/程序所有功能所用函数void welcome();/首页欢迎界面int dengji();/用来登记入住int lookfor_room();/用来查询房间入住情况int lookfor_price();/用来查询当前费用int tuifang();/用来结账退房int find();/用来查找入住人数long h_jifei();/按小时计费long d_jifei();/按天计费int per_infor();/显示个人信息void yingzhif
29、u();/用来结账付款int quit();/退出函数struct date/定义结构体 date,记录入住和结账时间 int mon;int day;int hour;struct costoem/定义结构体 costoem int num;/房间号int kind;/房间种类1-单人间 2-双人间char name20;/客户信息char ID19;/身份证号int h_money;/按小时收费价格int d_money;/按天收费价格struct date time;/入住时间int flag;/入住状态,flag:0无人入住1按小时入住2按天入住int deposit;/押金roomM
30、;/*个人信息函数*/int per_infor(int k)名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 32 页 -酒店房间登记与计费管理系统22 char zhonglei30,fangshi30;switch(roomk.flag)/选择计费方式 case 1:strcpy(fangshi,按小时计费);break;case 2:strcpy(fangshi,按天计费);break;default:break;/输入与原定比较不符合跳出循环 switch(roomk.kind)/选择房间种类 case 1:strcpy(zhonglei,单人间);break;case
31、 2:strcpy(zhonglei,双人间);break;printf(nntt-姓名:);puts(roomk.name);printf(nn);printf(tt-身份证号:);puts(roomk.ID);printf(nn);printf(tt-房间种类:);puts(zhonglei);printf(nn);printf(tt-房间号:);printf(%d,k+1);printf(nn);printf(tt-计费方式:);puts(fangshi);printf(nn);printf(tt-押金:);printf(%d 元,roomk.deposit);printf(nn);pr
32、intf(tt 入住时间:);printf(2012年%d月%d日%d时nn,roomk.time.mon,roomk.time.day,roomk.time.hour);return(0);/*查询入住人数函数*/int find()int count=0,i;/查询房间数for(i=0;i=10)feiyong=(b+1)*money;/如果小时数大于10,则算为一天else if(a=0)feiyong=b*money;/如果小时数大于 0 而小于 10,则不计算小时else a=a+24;/如果小时数小于 0,则小时数加 24,天数减一,按天数计费重新计算b=b-1;if(a=10)f
33、eiyong=(b+1)*money;else feiyong=b*money;return feiyong;/返回费用值/*按小时计费*/long h_jifei(struct date end,struct date start,int money)long feiyong;int a,b;a=end.hour-start.hour;/计算小时b=end.day-start.day;/计算天数if(a0)printf(酒店应找还顾客%ld 元,dif);/押金金额大于应支付else printf(顾客应再支付%ld 元,dif*(-1);/押金金额小于应支付/*退出函数,返回欢迎主菜单页面
34、函数*/int quit()int z;printf(您需要返回欢迎界面吗?1-是 2-否nn);scanf(%d,&z);if(z=1)/返回欢迎界面welcome();else printf(*谢谢您的惠顾,欢迎您下次光临!*!nn);exit(0);/*欢迎主菜单页面*/void welcome()int n=find();int i,j;printf(&);printf(nntt-欢迎来到*酒店-nn);printf(ttt 1.登记入住nn);printf(ttt 2.查询房间入住情况nn);printf(ttt 3.查询当前费用nn);printf(ttt 4.结账退房nn);
35、printf(ttt 5.退出系统nn);printf(tt 总房间数:%d t 入住人数:%d t 空房间数:%d,M,n,M-n);printf(nn&nn);printf(ttt 请选择您所需的服务:);scanf(%d,&i);switch(i)/控制选择项目 case 1:j=dengji();break;/进入相应操作目录case 2:j=lookfor_room();break;case 3:j=lookfor_price();break;名师资料总结-精品资料欢迎下载-名师精心整理-第 24 页,共 32 页 -酒店房间登记与计费管理系统25 case 4:j=tuifan
36、g();break;exit(0);while(j!=0)welcome();/进入欢迎菜单主界面scanf(%d,&i);switch(i)case 1:j=dengji();break;case 2:j=lookfor_room();break;case 3:j=lookfor_price();break;case 4:j=tuifang();break;exit(0);/*顾客登记入住函数*/int dengji()int i,j,k,yajin,s,a,n;char ch,fangshi30;printf(nn#登记入住#nn);if(find()=M)/入住人数与房间总数相等 pri
37、ntf(当前房间已满,是否返回(Y/N):);ch=getchar();if(ch=y)return(1);/返回主菜单else exit(0);printf(请选择房间类型:nn);printf(1.单人间 2.双人间 nn);scanf(%d,&n);printf(可供您选择的房间有:nn);for(i=30*(n-1)+1,j=0;i30*n+1;i+)/单人间的 j 入住人数,i 剩余房间数if(roomi-1.flag=0)printf(%dt,i);j=j+1;if(j%5=0)printf(nn);名师资料总结-精品资料欢迎下载-名师精心整理-第 25 页,共 32 页 -酒店房
38、间登记与计费管理系统26 printf(请输入您准备入住的房间号:);/房间号 kroomk-1 scanf(%d,&k);roomk-1.kind=n;roomk-1.num=k;printf(nn请选择您的计费方式:(1.按小时收费为%d 元/时-2.按天计费为%d 元/天)t,roomk-1.h_money,roomk-1.d_money);scanf(%d,&s);while(s!=1&s!=2)printf(输入有误,请重新输入:);scanf(%d,&s);if(s=1)roomk-1.flag=1;else roomk-1.flag=2;printf(nn 请输入您的姓名:);s
39、canf(%s,roomk-1.name);printf(nn 请输入您的身份证号:);scanf(%s,roomk-1.ID);switch(n)case 1:yajin=80;break;case 2:yajin=100;break;printf(nn 您应当缴纳的押金金额为%d 元,yajin);printf(nn 请输入您实际缴纳的押金金额:);scanf(%d,&roomk-1.deposit);while(roomk-1.deposit5|i1)printf(nntt 输入有误,请重新输入:);scanf(%d,&i);else if(i=1)/按顾客所住房号查询 printf(n
40、n 请输入房间号:);scanf(%d,&j);if(roomj-1.flag=0)printf(nn 此房间无人住 nn);else 名师资料总结-精品资料欢迎下载-名师精心整理-第 27 页,共 32 页 -酒店房间登记与计费管理系统28 printf(您的个人信息为:);per_infor(j-1);break;else if(i=2)/按顾客个人信息查询 printf(nn 请输入您的身份证号:);scanf(%s,a);while(1)for(k=0;kM;k+)if(strcmp(a,roomk.ID)=0)break;/比较输入与登记的客户信息if(k!=M)printf(nn
41、您的个人信息为:);per_infor(k);break;else printf(ttnn1.输入有误,请重新输入2.不存在此人信息,退出 nn);scanf(%d,&s);if(s=1)printf(nn 请输入您的身份证号:);scanf(%s,a);else return(1);break;else if(i=3)/按顾客入住时的日期时间查询 printf(nn 请输入入住时间:);scanf(%d月,&tim_t.mon);scanf(%d日,&tim_t.day);for(k=0;kM|n1)printf(nn 输入有误,请您重新输入退房的房间号(1%d):,M);scanf(%d,
42、&n);if(roomn-1.flag=0)printf(当前房间尚未有人住,无法办理退房手续!nn);switch(roomn-1.kind)case 1:strcpy(zhonglei,单人间);break;case 2:strcpy(zhonglei,双人间);break;switch(roomn-1.flag)case 1:strcpy(fangshi,按小时计费);break;case 2:strcpy(fangshi,按天计费);break;default:break;printf(房间号:%dnn房间类型:%snn入住客人姓名:%snn身份证号:%snn,roomn-1.num,
43、zhonglei,roomn-1.name,roomn-1.ID);printf(入住时间:);printf(2015年%d月%d日%d时,roomn-1.time.mon,roomn-1.time.day,roomn-1.time.hour);printf(nn 请输入结账时间:);scanf(%d月,&end.mon);scanf(%d日,&end.day);scanf(%d时,&end.hour);printf(nn 押金:%d,roomn-1.deposit);printf(nn 计费方式:);printf(%s,fangshi);if(roomn-1.flag=1)printf(nn
44、当前费用:%ld,money=h_jifei(end,roomn-1.time,roomn-1.h_money);else printf(nn您当前的消费费用为:%ld,money=d_jifei(end,roomn-1.time,roomn-1.d_money);printf(nn 您应当支付:);yingzhifu(money,roomn-1.deposit);printf(nn 您是否退房(1.是 2.否):);scanf(%d,&m);if(m=1)roomn-1.flag=0;strcpy(roomn-1.name,-empty-);名师资料总结-精品资料欢迎下载-名师精心整理-第 31 页,共 32 页 -酒店房间登记与计费管理系统32 roomn-1.deposit=0;printf(nn 您已成功退房,欢迎您下次光临!nn);quit();return 0;/*主函数*/int main()int k,i,j;for(k=1;k=1&k30&k=60)roomk-1.h_money=60;roomk-1.d_money=400;welcome();名师资料总结-精品资料欢迎下载-名师精心整理-第 32 页,共 32 页 -