C语言酒店管理系统源代码.docx





《C语言酒店管理系统源代码.docx》由会员分享,可在线阅读,更多相关《C语言酒店管理系统源代码.docx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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、();/*输出所有房间信息*/*构造体*/if(i=40)printf(nn您选择日勺是单人间,该房间148元/天,8元/小时。nnn);/*选择计费方式*/printf(请选择您的计费方式(1:按小时计费,2:按天计费):);)elseprintf(nn您选择的|是双人间,该房间128元/天,7元/小时。nnn);printf(请选择您的J计费方式(1:按小时计费,2:按天计费):”);)scanf(%dz&roomi-l.flag);while(roomi-l.flag2)printf(nn您的I计费方式输入有误,请您重新输入:);scanf(%d,&roomi-l.flag);)prin
3、tf(nn请按所示格式输入您日勺入住时间(年-月-日-时,时为24小时制):”);scanf(%d-%d-%d-%cT,&roomi-l.t0.year,t0.mon,O.date,&roomi-l.t0.hour);I=judge_year(roomi-I.t0.year);while(roomi-l,t0.year=0) | |(roomi-l.t0.mon12)| | (roomi-l.t0.datetablroomi-l.t0.mon-l)| |(roomi-l.t0.hour=24)printf(nn您改J入住时间输入有误,请按照格式重新输入:);scanf(d-%d-%d-%cr,
4、&roomi-l.t0.yeai;&roomi-l.t0.mon,&roomi-l.t0.date,&roomi-l.t0.hour);I=judge_year(roomi-I.t0.year);)printf(nn请输入您的押金数额:);scanf(%ld,&roomi-l.deposit);while(roomi-l.deposit=0)printf(nn您的I押金数额输入有误,请您重新输入:n);scanf(,%ld,&roomi-l.deposit);)printf(nn您与否确定您的信息:(1-是,2-否):);scanf(“%d”,&k);while(k2)printf(nn您的J
5、选择输入有误,请您重新输入:n)scanfCd;&k);)if(k=l)printf(nn您已登记入住成功,祝您在本店住得快乐! nn);save(i);choice();)elsecheck_in();)/*费用查询函数*/*清屏*/void price() system(cls);system(color 4E);printf(n*群比Un);int i;intj;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 to
6、tal_hour;int total_day;long int price;printf(请输入您的房间号:);scanf(“%d;&i);while(i80)printf(nn您的房间号输入有误,请您重新输入:”);scanf(%d;&i);)read(i);while(roomi-l.flag=0)/*判断房间与否已经有 客人入住*/printf(“nn该房间无人入住,请重新输入您的I房间号:”);scanf(cT,&i);read(i);)printf(nn请按所示格式输入目前时间(年-月-日-时,时为24小时制):);/*输入目前时间*/shuru:l.date,&roomi-l.tl
7、.hour);j=judge_year(roomi-l.tl.year);while(roomi-l.tl.year=0)| |(roomi-l.tl.mon12) | |(roomi-l.tl.datetabjroomi-l.tl.mon-l)| |(roomi-l.tl.hour=24)printf(nn您的J入住时间输入有误,请按照格式重新输入:);scanf(%d-%d-%d-%d,&roomi-l.tl.year,&roomi-l.tl.mon,&roomi-l.t1.date,&roomi-l.tl.hour);j=judge_year(roomi-l.tl.year);if( r
8、oom i-l.tO.mon !=roomi-l.tl.mon)for(k=roomi-l.t0.mon+l;kroomi-l.tl.mon;k+)day+=tabjk-l;)day+=tabj room i-l.t0.mon-l-roomi-l.t0.date+roomi-l.tl.date;)elseday+=roomi-l.tl.date-room i-l.t0.date;hr=roomi-l.tl.hour-room i-l.t0.hour;if(roomi-l.flag=l)/*根据房间类型和计费方式计算费用*/if(hr0)total_hour=day*24-hr;elsetota
9、l_hour=day*24+hr;if(i=40)price=8*total_hour;elseprice=7*total_hour;)if(roomi-l.flag=2)while(hr0)day=day-l;hr=hr+24;if(hr8)total_day=day;elsetotal_day=day+l;if(i=40)price=148*total_day;elseprice=128*total_day;)while(price0)printf(您的时间输入有误,请重新输入:);goto shuru;/*输出目前结账退房printf(Hnn 目前费用为:ld 元.nn,price);费
10、用*/choice();)/*结账退房函数*/void fee() system(,clsM);system(color 4E); frIc,- 4111 八不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不不n);int i;intj;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=O;int hr=O;int total_hour;int total_day;long int price;long int fee;printf
11、(请输入您的房间号:);scanf(cT7&i);while(i80)printf(nn您肚|房间号输入有误,请您重新输入:”);scanf(%d,&i);)read(i);while(roomi-l.flag=0)/* 判断房间与否有客人入住*/printf(nn该房间无人入住,请重新输入您的房间号:);scanf(“%d;&i);read(i);)printf(“nn请按所示格式输入目前时间(年-月-日-时,时为24小时制):”);/*输入目前时间*/shuru: scanf(d-%d-%d-%cT&roomi-l.tl.yeai;&roomi-l.tl.mon,&roomi-lJ.tl.
12、date,&roomi-l.tl.hour);j=judge_year(roomi-l.tl.year);while(roomi-l.tl.year=0)| |(roomi-l.tl.mon12) | |(roomi-l.tl.datetabjroomi-l.tl.mon-l)| |(roomi-l.tl.hour=24)printf(nn您的J入住时间输入有误,请按照格式重新输入:);scanf(,%d-%d-%d-%d,&roomi-l.tl.year,&roomi-l.tl.mon,&roomi-l.t1.date,&roomi-l.tl.hour);j=judge_year(roomi
13、-l.tl.year);)if( room i-l.t0.mon !=roomi-l.tl.mon)for(k=roomi-l.t0.mon+l;kroomi-l.tl.mon;k+)day+=tabjk-l;)day+=tabjroomi-l.t0.mon-l-roomi-l.t0.date+roomi-l.tl.date;struct timeint year;int mon;int date;int hour;);struct room /*定义各房间信息日勺构造体*/char name40;char ID18;int flag;/*0-无人入住,1-按小时计费,2-按天计费*/long
14、 int deposit;timet2; /* 0-入住时间,1-目前时间 */roomM;char cl40=0;char c218=0;/*主函数(主界面)*/void main()elseday+=roomi-l.tl.date-room i-l.tO.date;hr=roomi-l.tl.hour-roomi-l.t0.hour;if(roomi-l.flag=l)/*根据房间类型和计费方式计算费用*/if(hr0)total_hour=day*24-hr;elsetotal_hour=day*24+hr;if(i=40)price=8*total_hour;elseprice=7*t
15、otal_hour;)if(roomi-l.flag=2)while(hr0)day=day-l;hr=hr+24; if(hr8)total_day=day;elsetotal_day=day+l;if(i=40)price=148*total_day;elseprice=128*total_day;)while(price0)/*输出最终的总费用*/printf(nn扣除押金后,您另需支付费用ld元。:fee);else if(fee=0) printf(nn您所交纳的押金恰好可以支付您的住房费用,您无需另行交钱。);elseprintf(nn您所交纳的押金尚未使用完,本宾馆应支付您余额l
16、d元。fee);printf(nnn您已退房成功,感谢您的光顾,我们下次再会! nn);roomi-l.flag=0;strcpy(roomi-l.name/cl);strcpy(roomi-l.ID,c2);roomi-l.deposit=0;roomi-l .t0 .yea r=0;roomi-l.t0.mon=0;roomi-l.t0.date=0;roomi-l.t0.hour=0;roomi-l.tl.year=0;roomi-l.tl.mon=0;roomi-l.tl.date=0;roomi-l.tl.hour=0;save(i);choice();/*信息查询函数*/void
17、infor() system(,cls,1);system(color 4E);printf(nn);int i;printf(请输入您的房间号:);scanf(%dH,&i);while(i80)printf(nn您的)房间号输入有误,请您重新输入:);scanf(%d;&i);read(i);while(roomi-l,flag=0)/* 判断房间与否有 客人入住*/printf(nn该房间无人入住,请重新输入您的I房间号:”);scanf(,%d,&i);read(i);)printf(”nn您的信息如下:nnn);/*输出客人信息*/printf(姓名:);puts(roomi-l.n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 酒店 管理 系统 源代码

限制150内