C语言课程设计---酒店房间登记与计费管理系统源代码.pdf
《C语言课程设计---酒店房间登记与计费管理系统源代码.pdf》由会员分享,可在线阅读,更多相关《C语言课程设计---酒店房间登记与计费管理系统源代码.pdf(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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 timeint year;int mon;int date;int hour;struct room /*char name40;定义各房间信息的结构体*/char ID18;int flag;/*0-无人入住,1-按小时计费,2-按天计费 */long int deposit;time t2;/*0-roomM;char c140=0;char c218=0;/*主函数(主界面)*/void main()system(cls);/*system(color 4E);int n;入住时间,1-当前时间清屏*/*/printf(*);print
3、f(*);printf(*tt -欢迎光临万豪酒店-*);printf(*);printf(*nn);printf(ttt 1.登记入住 nn);printf(ttt 2.入住情况 nn);printf(ttt 3.当前费用 nn);printf(ttt 4.结账退房 nn);printf(ttt 5.信息查询 nn);printf(ttt 6.全部信息 nn);printf(ttt 7.退出系统 nn);printf(请输入您需要的服务的代码:);scanf(%d,&n);while(n7)printf(nn 代码输入有误,请您重新输入:);scanf(%d,&n);switch(n)/*根
4、据输入数字选择功能*/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);/*统函数*/*查看房间使用情况函数*/void chamber()调用信息调用全部调用退出系system(cls);/*清屏*/system(col
5、or 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);while(m80)printf(nn 房间号输入有误,请您重新输入:);scanf(%d,&m);read(m);while(roomm
6、-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-否):);scanf(%d,&k);while(k2)printf(nn 您的选择输入有误,请您重新输入:);scanf(%d,&k);if(k=1)goto cha
7、xun;elseprintf(nn);main();/*登记入住函数*/void check_in()system(cls);/*清屏*/system(color 4E);int i;int j;int l;int k;inttab212=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(n*登记入住*n);printf(请输入您将入住的房间号:);scanf(%d,&i);while(i80)printf(nn 房间号输入有误,请您重新输入:);scanf(%d,&i);read(i)
8、;while(roomi-1.flag!=0)/*判断房间是否入住*/printf(nn 对不起,该房间已有客人入住,请输入其他房间号:);scanf(%d,&i);read(i);printf(nn请输入您的姓名:);/*客人信息登记*/scanf(%s,roomi-1.name);j=strlen(roomi-1.name);while(j0)printf(nn 您的姓名输入有误,请您重新输入:n);scanf(%s,roomi-1.name);j=strlen(roomi-1.name);printf(nn 请输入您的证件号码:);scanf(%s,roomi-1.ID);j=strle
9、n(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(请选择您的计费方式(1:按小时计费,2:按天计费):);else printf(nn 您选择的是双人间,该房间 128 元/天,7 元/小时。nnn);printf(请选择您的计费方式(1:按小时计费,2:按天计费):);scanf(%d,&roomi-1.flag
10、);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.t0.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.mon12)|(roomi-1.t0.dateta
11、blroomi-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.t0.date,&roomi-1.t0.hour);l=judge_year(roomi-1.t0.year);printf(nn 请输入您的押金数额:);scanf(%ld,&roomi-1.deposit);while(roomi-1.deposit=0)printf(nn 您的押金数额输入有误,请您重新输入:n);scanf(
12、%ld,&roomi-1.deposit);printf(nn 您是否确定您的信息:(1-是,2-否):);scanf(%d,&k);while(k2)printf(nn 您的选择输入有误,请您重新输入:n);scanf(%d,&k);if(k=1)printf(nn 您已登记入住成功,祝您在本店住得愉快!nn);save(i);choice();elsecheck_in();/*费用查询函数*/void price()system(cls);/*清屏*/system(color 4E);printf(n*费用查询*n);int i;int j;int k;inttab212=31,28,31
13、,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(请输入您的房间号:);scanf(%d,&i);while(i80)printf(nn 您的房间号输入有误,请您重新输入:);scanf(%d,&i);read(i);while(roomi-1.flag=0)/*判断房间是否已有客人入住*/printf(nn 该房间无人入住,请重新输入您的房间号:);scanf(%d,&i);r
14、ead(i);printf(nn 请按所示格式输入当前时间(年-月-日-时,时为 24 小时制):);/*输入当前时间*/shuru:scanf(%d-%d-%d-%d,&roomi-1.t1.year,&roomi-1.t1.mon,&roomi-1.t1.date,&roomi-1.t1.hour);j=judge_year(roomi-1.t1.year);while(roomi-1.t1.year=0)|(roomi-1.t1.mon12)|(roomi-1.t1.datetabjroomi-1.t1.mon-1)|(roomi-1.t1.hour=24)printf(nn 您的入住时
15、间输入有误,请按照格式重新输入:);scanf(%d-%d-%d-%d,&roomi-1.t1.year,&roomi-1.t1.mon,&roomi-1.t1.date,&roomi-1.t1.hour);j=judge_year(roomi-1.t1.year);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
16、.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;elsetotal_hour=day*24+hr;if(i=40)price=8*total_hour;elseprice=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=1
17、48*total_day;elseprice=128*total_day;while(price0)printf(您的时间输入有误,请重新输入:goto shuru;printf(nn 当前费用为:);%ld 元.nn,price);/*输出当前费用*/choice();/*结账退房函数*/void fee()system(cls);system(color 4E);printf(n*结账退房*n);int i;int j;int k;inttab212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 酒店 房间 登记 计费 管理 系统 源代码
限制150内