C语言课程设计酒店房间登记与计费管理系统源代码.docx

上传人:b****6 文档编号:7112803 上传时间:2023-01-18 格式:DOCX 页数:21 大小:18.23KB
下载 相关 举报
C语言课程设计酒店房间登记与计费管理系统源代码.docx_第1页
第1页 / 共21页
C语言课程设计酒店房间登记与计费管理系统源代码.docx_第2页
第2页 / 共21页
C语言课程设计酒店房间登记与计费管理系统源代码.docx_第3页
第3页 / 共21页
C语言课程设计酒店房间登记与计费管理系统源代码.docx_第4页
第4页 / 共21页
C语言课程设计酒店房间登记与计费管理系统源代码.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C语言课程设计酒店房间登记与计费管理系统源代码.docx

《C语言课程设计酒店房间登记与计费管理系统源代码.docx》由会员分享,可在线阅读,更多相关《C语言课程设计酒店房间登记与计费管理系统源代码.docx(21页珍藏版)》请在冰豆网上搜索。

C语言课程设计酒店房间登记与计费管理系统源代码.docx

C语言课程设计酒店房间登记与计费管理系统源代码语言课程设计酒店房间登记与计费管理系统源代码酒店房间登记与计费管理系统源代码#defineM80#include#include#include/*函数声明*/voidcheck_in();/*登记入住函数*/voidchamber();/*入住情况函数*/voidprice();/*当前费用函数*/voidfee();/*结账退房函数*/voidinfor();/*信息查询函数*/voidsave(int);/*保存信息函数*/voidread(int);/*读取信息函数*/voidchoice();/*功能选择函数*/intjudge_year(int);/*判断闰年函数*/voidinformation();/*输出全部房间信息*/*结构体*/structtimeintyear;intmon;intdate;inthour;structroom/*定义各房间信息的结构体*/charname40;charID18;intflag;/*0-无人入住,1-按小时计费,2-按天计费*/longintdeposit;timet2;/*0-入住时间,1-当前时间*/roomM;charc140=0;charc218=0;/*主函数(主界面)*/voidmain()system(cls);/*清屏*/system(color4E);intn;printf(*);printf(*);printf(*tt-欢迎光临万豪酒店-*);printf(*);printf(*nn);printf(ttt1.登记入住nn);printf(ttt2.入住情况nn);printf(ttt3.当前费用nn);printf(ttt4.结账退房nn);printf(ttt5.信息查询nn);printf(ttt6.全部信息nn);printf(ttt7.退出系统nn);printf(请输入您需要的服务的代码:

);scanf(%d,&n);while(n7)printf(nn代码输入有误,请您重新输入:

);scanf(%d,&n);switch(n)/*根据输入数字选择功能*/case1:

check_in();break;/*调用登记入住函数*/case2:

chamber();break;/*调用房间情况函数*/case3:

price();break;/*调用当前费用函数*/case4:

fee();break;/*调用结账退房函数*/case5:

infor();break;/*调用信息查询函数*/case6:

information();break;/*调用全部信息函数*/case7:

exit(0);/*调用退出系统函数*/*查看房间使用情况函数*/voidchamber()system(cls);/*清屏*/system(color4E);printf(n*房间使用情况*n);intcount=0;inti;intj;intk;intm;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-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)gotochaxun;elseprintf(nn);main();/*登记入住函数*/voidcheck_in()system(cls);/*清屏*/system(color4E);inti;intj;intl;intk;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);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=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(请选择您的计费方式(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.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.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.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(%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();/*费用查询函数*/voidprice()system(cls);/*清屏*/system(color4E);printf(n*费用查询*n);inti;intj;intk;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;intday=0;inthr=0;inttotal_hour;inttotal_day;longintprice;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请按所示格式输入当前时间(年-月-日-时,时为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您的入住时间输入有误,请按照格式重新输入:

);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.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=148*total_day;elseprice=128*total_day;while(price0)printf(您的时间输入有误,请重新输入:

);gotoshuru;printf(nn当前费用为:

%ld元.nn,price);/*输出当前费用*/choice();/*结账退房函数*/voidfee()system(cls);system(color4E);printf(n*结账退房*n);inti;intj;intk;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;intday=0;inthr=0;inttotal_hour;inttotal_day;longintprice;longintfee;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请按所示格式输入当前时间(年-月-日-时,时为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您的入住时间输入有误,请按照格式重新输入:

);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.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=148*total_day;elseprice=128*total_day;while(price0)/*输出最后的总费用*/printf(nn扣除押金后,您另需支付费用%ld元。

fee);elseif(fee=0)printf(nn您所交纳的押金恰好能够支付您的住房费用,您无需另行交钱。

);elseprintf(nn您所交纳的押金还未使用完,本宾馆应支付您余额%ld元。

-fee);printf(nnn您已退房成功,感谢您的光临,我们下次再见!

nn);roomi-1.flag=0;strcpy(roomi-1.name,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.t1.mon=0;roomi-1.t1.date=0;roomi-1.t1.hour=0;save(i);choice();/*信息查询函数*/voidinfor()system(cls);system(color4E);printf(n*信息查询*n);inti;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您的信息如下:

nnn);/*输出客人信息*/printf(姓名:

);puts(roomi-1.name);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(入住时间:

);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();/*功能选择函数*/voidchoice()printf(n*功能选择*n);printf(ttt1.入住情况n);printf(ttt2.登记入住n);printf(ttt3.当前费用n);printf(ttt4.结账退房n);printf(ttt5.信息查询n);printf(ttt6.回主界面n);printf(ttt7.全部信息n);printf(ttt8.退出系统n);intk;printf(请选择您需要的服务:

);/*服务选择*/scanf(%d,&k);while(k8)printf(nn代码输入有误,请您重新输入:

);scanf(%d,&k);switch(k)case1:

chamber();break;/*调用房间情况函数*/case2:

check_in();break;/*调用登记入住函数*/case3:

price();break;/*调用当前费用函数*/case4:

fee();break;/*调用结账退房函数*/case5:

infor();break;/*调用信息查询函数*/case6:

main();break;/*调用主函数*/case7:

information();break;/*调用全部信息函数*/case8:

exit(0);/*调用退出系统函数*/*判断闰年函数*/intjudge_year(intx)if(x%4=0)&(x%100!

=0)|(x%400=0)return

(1);elsereturn(0);/*全部信息查询*/voidinformation()system(cls);printf(n*全部信息*n);inti;intj;intk;intyear;intmonth;intdate;inthour;intyear1;intmonth1;intday1;inthour1;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;intday=0;inthr=0;inttotal_hour;inttotal_day;longintprice;printf(nn请按所示格式输入当前时间(年-月-日-时,时为24小时制):

);/*输入当前时间*/scanf(%d-%d-%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);elseyear1=year-roomi-1.t0.year;month1=month-roomi-1.t0.mon;day1=date-roomi-1.t0.date;hour1=hour-roomi-1.t0.hour;while(hour10)day1=day1-1;hour1=hour1+24;printf(房间%d客户信息如下:

n,i);printf(姓名:

);puts(roomi-1.name);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.hour);printf(已入住时间:

%d年%d月%d天%d小时。

n,year1,month1,day1,hour1);printf(押金数额:

);printf(%ld元,roomi-1.deposit);if(roomi-1.t0.mon!

=month)for(k=roomi-1.t0.mon+1;kmonth;k+)day+=tabjk-1;day+=tabjroomi-1.t0.mon-1-roomi-1.t0.date+date;elseday+=date-roomi-1.t0.date;hr=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=148*total_day;elseprice=128*total_day;printf(n当前费用为:

%ld元.n,price);/*输出当前费用*/day=0;hr=0;/*时间清零*/choice();/*保存信息函数*/voidsave(intx)inti;charc;FILE*fp;if(fp=fopen(酒店房间登记与计费管理系统信息存储文件.txt,wb+)=NULL)printf(无法打开文件。

nnn);printf(请按任意键返回主菜单,并选择“退出系统”选项,在修改错误后再运行此系统。

nn);scanf(%s,&c);main();for(i=1;i=x;i+)if(fwrite(&roomi-1,si

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1