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

上传人:太** 文档编号:97315358 上传时间:2024-05-31 格式:DOCX 页数:36 大小:36.10KB
返回 下载 相关 举报
C语言酒店管理系统源代码.docx_第1页
第1页 / 共36页
C语言酒店管理系统源代码.docx_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《C语言酒店管理系统源代码.docx》由会员分享,可在线阅读,更多相关《C语言酒店管理系统源代码.docx(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

18、ame);printf(nn);printf(证件号码:);puts(roomi-l.ID);printfCXnXn);printf(房间类型:);if(i=40)printf(单人间nnn);elseprintf(双人间nnn); printf。计费方式:);if(roomi-l.flag=l) printf(“按小时计费nnn); elseprintf(按天计费nnn);printf(“入住时间:);printf(H%d 年 %d% 月 d 日 %d 时nnn,room i-l.tO.year,room i-l.tO.mon,room i-l.t0.date,roomi-l.t0 .hou

19、r);printf(“押金数额:”);printf(%ld 7Unn,roomi-l.deposit);choice(); )/*功能选择函数*/void choice()printf(n1ftw ftw ftw .r* / 1 T1. T, ,., . , .T . T . T” , T TT. ” T TT 1nM);功能选择printf(ttt 1.入住状况n);printf(ttt2.登记入住 n);3.目前费用4.结账退房5 .信息查询6.回主界面7.所有信息8.退出系统int k;printf。1请选择您需要的服务:”);/*服务选择scanf(“%d,&k);while(k8)p

20、rintf/nn代码输入有误,请您重新输入:);scanf(%d,&k);switch(k)case l:chamber();break;/*调用房间状况函数*/case 2:check_in();break;/*调用登记入住函数*/case 3:price();break;/*调用目前费用函数*/case 4:fee();break;case 5:infor();break;case 6:main();break;case 7:information();break;case 8:exit(0);)/*判断闰年函数*/int judge_year(int x)/*调用结账退房函数*/*调用信

21、息查询函数*/*调用主函数*/*调用所有信息函数*/*调用退出系统函数*/if(x%4=0)&(x%100!=0)| |(x%400=0)return(l);elsereturn(O);)/*所有信息查询*/void information() system(cls);printf(n*所有信息n);int i;int j;int k;int year;int month;int date;int hour;int yearl;int monthl;int dayl;int hourl;int tab212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,3

22、1,30,31,30,31,31,30,31,30,31;int day=0;int hr=O;int total_hour;int total_day;long int price;printf(nn请按所示格式输入目前时间(年-月-日-时,时为24小时制):);/*输入目前时间*/scanf(H%d-%d-%d-%d,&year,&month,&date,&hour);j=judge_year(year);for(i=l;i=80;i+)read(i);if(roomi-l.flag=0)printf。1房间d 无人入住。nH,i);if(i=40)printf(房间类型:单人间。n);p

23、rintf(单价:148 元/天,8 元/小时。n);elseprintf(房间类型:双人间。n);printf。单价:128 元/天,7 元/小时。n);) elsesystemCcls);/*清屏*/system(color 4E);int n;printf();printf(*printf(*tt欢迎光顾万豪酒店 print(*.printf(nn);printf(ttt1.登记入住nn);printf(ttt2.入住状况nn);printf(ttt3.目前费用nn);printf(ttt4.结账退房nn);printf(ttt5.信息查询nn);yearl=year-roomi-l.t

24、0.year;monthl=month-roomi-l.t0.mon;dayl=date-roomi-l.t0.date;hourl=hour-roomi-l.t0.hour;while(hourl0)dayl=dayl-l;hourl=hourl+24;printf(房间1客户信息如下:n,i);print(姓名:);puts(roomi-l.name);printf(证件号码:);puts(roomi-l.ID);printf(房间类型:);if(i=40)print1单人间n);printf(单价:148 元/天,8 元/小时。nM);)else printf(双人间n);printf(

25、单价:128 元/天,7 元/小时。nH);)printf(计费方式:);if(roomi-l.flag=l)printf。1按小时计费rT);elseprintf(按天计费n);printf(“入住时间:);printf(%d 年 %d%月 d 日 %d 时n,room i-l.tO.year,room i-l.tO.mon,room i-l.tO.date,room i-l.tO.ho ur);printf(已入住 时间: %d 年 %d 月 %d 天 %d 小 时。n,yearl,monthl,dayl,hourl);printf(押金数额:);printf(%ld 7C,roomi-l

26、.deposit);if( room i-1.t0.mon !=month)for(k=roomi-l.t0.mon+l;kmonth;k+) day+=tabjk-l;day+=tabjroomi-l.t0.mon-l-roomi-l.t0.date+date;)elseday+=date-roomi-l.t0.date;hr=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_h

27、our;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;)printf(n目前费用为:ld元.n,price);/*输出目前费用*/)day=O;hr=O;/* 时间清零*/) choice();/*保留信息函数*/void save(int x)int i;char c;FILE *fp;if(fp=fopen(

28、酒店房间登记与计费管理系统信息存储文献.txt”Jwb+)=NULL)printf(“无法打开文献。nnn);printf(请按任意键返回主菜单,并选择“退出系统”选项,在修改错误后再运行此系统。nn);scanf(%s&c);main();)for(i=l;i=x;i+)if(fwrite(&roomi-l,sizeof(struct room),l,fp)!=l)printf(文献写入错误! nn);fclose(fp);/*读取信息函数*/void read(int y)int i=l;char c;FILE *fp;if(fp=fopen(酒店房间登记与计费管理系统信息存储文献.txt

29、”Jrb+)=NULL)printf(nn 无法打开文献。nnn);printf(请按任意键返回主菜单,并选择“退出系统”选项,在修改错误后再运行此系统。nn);scanf(%s&c);main();)elsedo fread(&roomi-ljizeof(struct room),l,fp);i+;while(feof(fp)=0);)fclose(fp);6.所有信息 nn“);printf(ttt 7.退出系统 nn);printf(请输入您需要的服务的代码:);scanf(cT,&n);while(n7)printf(“nn代码输入有误,请您重新输入:”);scanf(“%d,&n);

30、)switch(n)case l:checkjn();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);/*清屏*/sys

31、tem(Hcolor 4E);printf(n房间使用状况nH);int count=0;int i;intj;int k;int m;for(i=l;i=80;i+)/*记录未入住房间总数*/read(i);if(roomi-l.flag=0)count+;printf(目前未使用房间数:%dnnn,count);chaxun: printf(“请输入你要查询时房间号(1-40:单人间,41-80:双人间):);/*输入房间号查询房间入住状况*/scanf(%cT,&m);while(m80)printf(nn房间号输入有误,请您重新输入:);scanf(%d,&m);)read(m);wh

32、ile(roomm-l.flag!=0)printf(nn对不起,该房间已经有客人入住,请输入其他房间号:”);scanf(%cT,&m);read(m);printf(nn该房间没有客人入住,您要入住该房间吗? (1-是,2-否):);scanf(,%dl,&j);while(j2)printf(nn您的I选择输入有误,请您重新输入:);scanf(”%d,&j);)check_in();elseprintf(nn您需要继续查询吗? (1-是,2-否):”);scanfCd;&k);while(k2)printf(nn您的I选择输入有误,请您重新输入:);scanfCd;&k);)if(k=

33、l)goto chaxun;elseprintf(”nn”);main();)/*登记入住函数*/*清屏*/void checkjn() systemCcls);system(color 4E);int i;int j;int I;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;pri ntf (Hn *t己 人 彳丰%I I . , 、口 /printf(“请输入您将入住的房间号:);scanf(“%d,&i);while(i80);printf(nn房间号输入

34、有误,请您重新输入:scanf(%d;&i);read(i);while(roomi-l.flag!=0)/*判断房间与否入住*/printf(“nn对不起,该房间已经有客人入住,请输入其他房间号:);scanf(%d,&i);read(i);printf(nn请输入您的姓名:);/*客人信息登记*/scanf(%s,room i-1.name);j=strlen(roomi-l.name);while(j0)printf(nn您的J姓名输入有误,请您重新输入:n“);scanf(%s,room i-1.name);j=strlen(room i-1.name);)printf(nn请输入您的I证件号码:);scanf(%s,roomi-l.ID);j=strlen(roomi-l.ID);while(j!=18)printf(nn您的I证件号码输入有误,请您重新输入:n);scanf(%s,roomi-l.ID);j=strlen(roomi-l.ID);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁