版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、酒店房间登记与计费管理系统源代码#define M 80#include#include#include/* 函数声明 */void check_in();void chamber();void price();void fee();void infor();void save(int);void read(int);void choice(); int judge_year(int); void information();/* 登记入住函数 */* 入住情况函数 */* 当前费用函数 */* 结账退房函数 */* 信息查询函数 */* 保存信息函数 */* 读取信息函数 */* 功能选择函
2、数 */* 判断闰年函数 */* 输出全部房间信息 */* 结构体 */ struct time int year; int mon; int date; int hour;struct room/* 定义各房间信息的结构体 */char name40;char ID18;int flag;/* 0- 无人入住, 1-按小时计费, 2-按天计费 */long int deposit;time t2; /* 0-入住时间, 1-当前时间*/roomM;char c140=0;char c218=0;/* 主函数(主界面) */ void main()/* 清屏 */ 欢 迎 光 临 万 豪 酒
3、店 system(cls);system(color 4E);int n;printf(*printf(*);printf(*tt*n.printf(*);printf(*nn);printf(tttprintf(tttprintf(tttprintf(tttprintf(tttprintf(tttprintf(ttt1.登记入住nn)2.入住情况nn)3.当前费用nn)4.结账退房nn)5.信息查询nn)6.全部信息nn)7.退出系统nn)“*printf( 请输入您需要的服务的代码: );scanf(%d,&n);while(n7)printf(nn 代码输入有误,请您重新输入: );sc
4、anf(%d,&n);switch(n)case 1:check_in();break; case 2:chamber();break; case 3:price();break;case 4:fee();break;case 5:infor();break;case 6:information();break;case 7:exit(0);/* 根据输入数字选择功能 */ /* 调用登记入住函数 */ /* 调用房间情况函数 */ /* 调用当前费用函数 */ /* 调用结账退房函数 */ /* 调用信息查询函数 */ /* 调用全部信息函数 */ /* 调用退出系统函数 */* 查看房间使
5、用情况函数 */* 清屏 */void chamber() system(cls);system(color 4E);printf(n*房间使用情况*n);*int count=0;int i;int j; int k;int m;for(i=1;i=80;i+)/* 统计未入住房间总数 */read(i); if(roomi-1.flag=0)count+;printf( 当前未使用房间数: %dnnn,count);chaxun:printf( 请输入你要查询的房间号( 1-40:单人间, 41-80:双人间): ); /* 输入房间号查询房间入住情况 */scanf(%d,&m);whi
6、le(m80)printf(nn 房间号输入有误,请您重新输入: );scanf(%d,&m);read(m);while(roomm-1.flag!=0)printf(nn 对不起,该房间已有客人入住,请输入其他房间号: ); scanf(%d,&m);read(m); printf(nn 该房间没有客人入住 ,您要入住该房间吗?( 1-是, 2-否):);scanf(%d,&j);while(j2)printf(nn 您的选择输入有误,请您重新输入: ); scanf(%d,&j);if(j=1) check_in();elseprintf(nn 您需要继续查询吗?( 1-是, 2-否):
7、 );第3页scanf(%d,&k); while(k2)printf(nn 您的选择输入有误,请您重新输入: ); scanf(%d,&k); if(k=1) goto chaxun;elseprintf(nn); main(); /* 清屏 */* 登记入住函数 */ void check_in() system(cls); system(color 4E); int i;int j; int l;int k;int tab212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31; printf(
8、n* *n); printf( 请输入您将入住的房间号: ); scanf(%d,&i);while(i80)printf(nn 房间号输入有误,请您重新输入: scanf(%d,&i); read(i); while(roomi-1.flag!=0);登记入/* 判断房间是否入住);*/printf(nn 对不起,该房间已有客人入住,请输入其他房间号:scanf(%d,&i);/* 客人信息登记 */read(i);printf(nn 请输入您的姓名: );scanf(%s,);j=strlen();while(j0)printf(nn 您的姓
9、名输入有误,请您重新输入: n);scanf(%s,);j=strlen();printf(nn 请输入您的证件号码: );scanf(%s,roomi-1.ID);j=strlen(roomi-1.ID);while(j!=18)printf(nn 您的证件号码输入有误,请您重新输入: n);scanf(%s,roomi-1.ID);j=strlen(roomi-1.ID);if(i=40)printf(nn 您选择的是单人间,该房间 148 元/ 天, 8 元/小时。 nnn); /* 选择计费方式 */printf( 请选择您的计费方式(
10、1:按小时计费, 2:按天计费): );elseprintf(nn 您选择的是双人间,该房间 128元/天, 7元/小时。 nnn); printf( 请选择您的计费方式( 1:按小时计费, 2:按天计费): );scanf(%d,&roomi-1.flag); while(roomi-1.flag2)printf(nn 您的计费方式输入有误,请您重新输入: ); scanf(%d,&roomi-1.flag);printf(nn 请按所示格式输入您的入住时间(年-月-日 -时,时为 24 小时制):);scanf(%d-%d-%d-%d,&roomi-1.t0.year,&roomi-1.t
11、0.mon,&roomi-1.t0.date,&roomi-1.t0.hour);l=judge_year(roomi-1.t0.year); while(roomi-1.t0.year=0)|(roomi-1.t0.mon 12)|(roomi-1.t0.datetablroomi-1.t0.mon-1 )|(roomi-1.t0.hour=24)printf(nn 您的入住时间输入有误,请按照格式重新输入: ); scanf(%d-%d-%d-%d,&roomi-1.t0.year,&roomi-1.t0.mon,&roomi-1.t 第5页0.date,&roomi-1.t0.hour)
12、; l=judge_year(roomi-1.t0.year);printf(nn 请输入您的押金数额: ); scanf(%ld,&roomi-1.deposit);while(roomi-1.deposit=0)printf(nn 您的押金数额输入有误,请您重新输入: n); scanf(%ld,&roomi-1.deposit);printf(nn 您是否确定您的信息: (1-是, 2-否):); scanf(%d,&k);while(k2)printf(nn 您的选择输入有误,请您重新输入: n); scanf(%d,&k);if(k=1)printf(nn 您已登记入住成功,祝您在本
13、店住得愉快! nn); save(i);choice();else check_in();/* 费用查询函数 */ int i; int j;void price()system(cls);system(color 4E);printf(n*/* 清屏 */费用查询int k;int tab212=31,28,31,30,31,30,31,31,30,31,30,31, 31,29,31,30,31,30,31,31,30,31,30,31;int day=0;int hr=0;int total_hour; int total_day;long int price;printf( 请输入您的
14、房间号: );scanf(%d,&i);while(i80)printf(nn 您的房间号输入有误,请您重新输入: ); scanf(%d,&i);read(i);/*while(roomi-1.flag=0)人入住 */printf(nn 该房间无人入住,请重新输入您的房间号: ); scanf(%d,&i);read(i);printf(nn 请按所示格式输入当前时间(年 -月-日-时,时为 24 小时制): ); /* 输入当前时间 */shuru: scanf(%d-%d-%d-%d,&roomi-1.t1.year,&roomi-1.t1.mon,&roomi-1.t 1.date,
15、&roomi-1.t1.hour);j=judge_year(roomi-1.t1.year); while(roomi-1.t1.year=0)|(roomi-1.t1.mon 12)|(roomi-1.t1.datetabjroomi-1.t1.mon-1 )|(roomi-1.t1.hour=24)printf(nn 您的入住时间输入有误,请按照格式重新输入: ); scanf(%d-%d-%d-%d,&roomi-1.t1.year,&roomi-1.t1.mon,&roomi-1.t 1.date,&roomi-1.t1.hour);j=judge_year(roomi-1.t1.y
16、ear);if(roomi-1.t0.mon!=roomi-1.t1.mon)for(k=roomi-1.t0.mon+1;kroomi-1.t1.mon;k+) day+=tabjk-1;day+=tabjroomi-1.t0.mon-1-roomi-1.t0.date+roomi-1.t1.date;elseday+=roomi-1.t1.date-roomi-1.t0.date; hr=roomi-1.t1.hour-roomi-1.t0.hour;if(roomi-1.flag=1)式计算费用 */* 根据房间类型和计费方if(hr0) total_hour=day*24-hr; el
17、setotal_hour=day*24+hr; if(i=40) price=8*total_hour;else price=7*total_hour; if(roomi-1.flag=2) while(hr0) day=day-1;hr=hr+24; if(hr8) total_day=day; elsetotal_day=day+1;if(i=40) price=148*total_day; else price=128*total_day;while(price0)printf( 您的时间输入有误,请重新输入: ); goto shuru;printf(nn 当前费用为: %ld 元 .
18、nn,price); 费用 */* 输出当前choice();/* 结账退房函数 */ void fee() system(cls); system(color 4E); printf(n*、n .账退房int i;int j;int k;int tab212=31,28,31,30,31,30,31,31,30,31,30,31, 31,29,31,30,31,30,31,31,30,31,30,31;int day=0;int hr=0;int total_hour;int total_day;long int price;long int fee;printf( 请输入您的房间号: );
19、scanf(%d,&i);while(i80)printf(nn 您的房间号输入有误,请您重新输入: );scanf(%d,&i);read(i);/*while(roomi-1.flag=0)客人入住 */printf(nn 该房间无人入住,请重新输入您的房间号: ); scanf(%d,&i);read(i);printf(nn 请按所示格式输入当前时间(年 -月-日-时,时为 24 小时制): ); /* 输入当前时间 */shuru:scanf(%d-%d-%d-%d,&roomi-1.t1.year,&roomi-1.t1.mon,&roomi-1.t1.date,&roomi-1.
20、t1.hour);j=judge_year(roomi-1.t1.year); while(roomi-1.t1.year=0)|(roomi-1.t1.mon 12)|(roomi-1.t1.datetabjroomi-1.t1.mon-1 )|(roomi-1.t1.hour=24)printf(nn 您的入住时间输入有误,请按照格式重新输入: ); scanf(%d-%d-%d-%d,&roomi-1.t1.year,&roomi-1.t1.mon,&roomi-1.t 1.date,&roomi-1.t1.hour);j=judge_year(roomi-1.t1.year);if(r
21、oomi-1.t0.mon!=roomi-1.t1.mon)for(k=roomi-1.t0.mon+1;kroomi-1.t1.mon;k+) day+=tabjk-1;day+=tabjroomi-1.t0.mon-1-roomi-1.t0.date+roomi-1.t1.date; else day+=roomi-1.t1.date-roomi-1.t0.date; hr=roomi-1.t1.hour-roomi-1.t0.hour;if(roomi-1.flag=1) /* 根据房间类型和计费方式 计算费用 */ if(hr0)total_hour=day*24-hr;else to
22、tal_hour=day*24+hr; if(i=40) price=8*total_hour;else price=7*total_hour; if(roomi-1.flag=2) while(hr0) day=day-1;hr=hr+24; if(hr8) total_day=day; else total_day=day+1; if(i=40) price=148*total_day;elseprice=128*total_day;while(price0)的总费用 */printf(nn 扣除押金后,您另需支付费用 %ld 元。 ,fee); else if(fee=0)printf(
23、nn 您所交纳的押金恰好能够支付您的住房费用,您无需另行交 钱。 );elseprintf(nn 您所交纳的押金还未使用完,本宾馆应支付您余额 %ld 元。 ,-fee);printf(nnn 您已退房成功,感谢您的光临,我们下次再见! nn); roomi-1.flag=0;strcpy(,c1);strcpy(roomi-1.ID,c2);roomi-1.deposit=0;roomi-1.t0.year=0;roomi-1.t0.mon=0;roomi-1.t0.date=0;roomi-1.t0.hour=0;roomi-1.t1.year=0;roomi-1.
24、t1.mon=0;roomi-1.t1.date=0;roomi-1.t1.hour=0;save(i);choice();/* 信息查询函数 */void infor() system(cls); system(color 4E);printf(n*信息查询*int i;printf( 请输入您的房间号: ); scanf(%d,&i);while(i80);printf(nn 您的房间号输入有误,请您重新输入:scanf(%d,&i);read(i);while(roomi-1.flag=0) /* 判断房间是否有 客人入住 */printf(nn 该房间无人入住,请重新输入您的房间号:
25、); scanf(%d,&i);read(i);printf(nn 您的信息如下: nnn);/* 输出客人信息*/printf( 姓名: );puts();printf(nn);printf( 证件号码: );puts(roomi-1.ID);printf(nn);printf( 房间类型: );if(i=40)printf( 单人间 nnn);elseprintf( 双人间 nnn); printf( 计费方式: );if(roomi-1.flag=1)printf( 按小时计费 nnn);elseprintf( 按天计费 nnn);printf( 入住时间: );
26、printf(%d 年 %d% 月 %d 日 %d 时 nnn,roomi-1.t0.year,roomi-1.t0.mon,roomi-1.t0.date,roomi-1.t0 .hour);printf( 押金数额: );printf(%ld 元 nn,roomi-1.deposit); choice();/* 功能选择函数 */ void choice()printf(n*功能选择*printf(ttt 1.入住情况n);printf(ttt 2.登记入住n);printf(ttt 3.当前费用n);printf(ttt 4.结账退房n);printf(ttt 5.信息查询n);prin
27、tf(ttt 6.回主界面n);printf(ttt 7.全部信息n);printf(ttt 8.退出系统n);int k;printf( 请选择您需要的服务:);/* 服务选择*/scanf(%d,&k);while(k8)printf(nn 代码输入有误,请您重新输入: );scanf(%d,&k);switch(k) case 1:chamber();break; case 2:check_in();break; case 3:price();break; case 4:fee();break; case 5:infor();break; case 6:main();break; cas
28、e 7:information();break; case 8:exit(0);/* 调用房间情况函数 */* 调用登记入住函数 */* 调用当前费用函数 */* 调用结账退房函数 */* 调用信息查询函数 */* 调用主函数 */* 调用全部信息函数 */* 调用退出系统函数 */* 判断闰年函数 */int judge_year(int x) if(x%4=0)&(x%100!=0)|(x%400=0) return(1);elsereturn(0);/* 全部信息查询 */ void information()system(cls);printf(n*部信息*int i;int j; i
29、nt k;int year; int month; int date;int hour;int year1;int month1;int day1;int hour1;int tab212=31,28,31,30,31,30,31,31,30,31,30,31, 31,29,31,30,31,30,31,31,30,31,30,31;int day=0;int hr=0;int total_hour;int total_day;long int price;24 小时制):printf(nn 请按所示格式输入当前时间(年-月 -日-时,时为); /* 输入当前时间 */ scanf(%d-%d
30、-%d-%d,&year,&month,&date,&hour); j=judge_year(year);for(i=1;i=80;i+)read(i);if(roomi-1.flag=0)printf(” 房间 %d 无人入住。n”,i);if(i=40)printf( 房间类型:单人间。 n);printf( 单价: 148 元/天,8 元/小时。 n);elseprintf( 房间类型:双人间。 n);printf( 单价: 128 元/天,7 元/小时。 n);elsemonth1=month-roomi-1.t0.mon;day1=date-roomi-1.t0.date;hour1
31、=hour-roomi-1.t0.hour;while(hour10)day1=day1-1;hour1=hour1+24;printf(”房间%d客户信息如下:n,i);printf( 姓名: );puts();printf( 证件号码: );puts(roomi-1.ID);printf( 房间类型: );if(i=40)printf( 单人间 n);printf( 单价: 148 元/天,8 元/小时。 n);elseprintf( 双人间 n);printf( 单价: 128元/天, 7元/小时。 n);printf( 计费方式: );if(roomi-1.flag=1)printf( 按小时计费 n);elseprintf( 按天计费 n);printf( 入住时间: );printf(%d年 %d% 月 %d 日 %d 时n,roomi-1.t0.year,roomi-1.t0.mon,roomi-1.t0.date,roomi-1.t0.ho ur);printf( 已 入 住 时 间 : %d 年 %d 月 %d 天 %d 小 时 。 n,year1,month1,day1,hour1);printf( 押金数额: );printf(%ld 元 ”,roomi-1.deposit);if(roomi-1.t0.m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老院老人生活照顾人员职业道德制度
- 养老院老人健康数据统计分析制度
- 民航安全管理体系培训心得
- 新媒体合伙人合同(2篇)
- 承包采摘黄秋葵协议书范本(2篇)
- 2024年智能化物流设备采购合同
- 《食管癌的治疗》课件
- 2025年枣庄货运资格证安检考试题
- 2025年广州货运从业资格考试技巧
- 2025年青海货运从业资格证考试模拟考试题库
- 北师大版数学初二上册知识点总结
- 铁路建设项目施工企业信用评价办法(铁总建设〔2018〕124号)
- 模具报价表精简模板
- 抽样检验培训教材(共47页).ppt
- 时光科技主轴S系列伺服控制器说明书
- 通用带式输送机TD75或DT型出厂检验要求及记录
- 高考英语单项选择题题库题
- lonely-planet-PDF-大全
- 成人大专毕业生自我鉴定
- 汽车转向系统设计规范
- 管鲍之交-历史剧剧本(共4页)
评论
0/150
提交评论