C语言课程设计酒店房间登记与计费管理系统源代码Word文件下载.docx
《C语言课程设计酒店房间登记与计费管理系统源代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计酒店房间登记与计费管理系统源代码Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
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代码输入有误,请您重新输入:
switch(n)/*根据输入数字选择功能*/case1:
check_in();
break;
/*调用登记入住函数*/case2:
chamber();
/*调用房间情况函数*/case3:
price();
/*调用当前费用函数*/case4:
fee();
/*调用结账退房函数*/case5:
infor();
/*调用信息查询函数*/case6:
information();
/*调用全部信息函数*/case7:
exit(0);
/*调用退出系统函数*/*查看房间使用情况函数*/voidchamber()system(cls);
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房间号输入有误,请您重新输入:
read(m);
while(roomm-1.flag!
=0)printf(nn对不起,该房间已有客人入住,请输入其他房间号:
printf(nn该房间没有客人入住,您要入住该房间吗(1-是,2-否):
j);
while(j2)printf(nn您的选择输入有误,请您重新输入:
if(j=1)check_in();
elseprintf(nn您需要继续查询吗(1-是,2-否):
k);
while(k2)printf(nn您的选择输入有误,请您重新输入:
if(k=1)gotochaxun;
elseprintf(nn);
main();
/*登记入住函数*/voidcheck_in()system(cls);
intl;
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(请输入您将入住的房间号:
i);
while(i80)printf(nn房间号输入有误,请您重新输入:
read(i);
while(roomi-1.flag!
=0)/*判断房间是否入住*/printf(nn对不起,该房间已有客人入住,请输入其他房间号:
printf(nn请输入您的姓名:
/*客人信息登记*/scanf(%s,roomi-1.name);
j=strlen(roomi-1.name);
while(j0)printf(nn您的姓名输入有误,请您重新输入:
scanf(%s,roomi-1.name);
printf(nn请输入您的证件号码:
scanf(%s,roomi-1.ID);
j=strlen(roomi-1.ID);
while(j!
=18)printf(nn您的证件号码输入有误,请您重新输入:
if(i=40)printf(nn您选择的是单人间,该房间148元/天,8元/小时。
nnn);
/*选择计费方式*/printf(请选择您的计费方式(1:
按小时计费,2:
按天计费):
elseprintf(nn您选择的是双人间,该房间128元/天,7元/小时。
printf(请选择您的计费方式(1:
roomi-1.flag);
while(roomi-1.flag2)printf(nn您的计费方式输入有误,请您重新输入:
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您的入住时间输入有误,请按照格式重新输入:
printf(nn请输入您的押金数额:
scanf(%ld,&
roomi-1.deposit);
while(roomi-1.deposit=0)printf(nn您的押金数额输入有误,请您重新输入:
printf(nn您是否确定您的信息:
(1-是,2-否):
if(k=1)printf(nn您已登记入住成功,祝您在本店住得愉快!
nn);
save(i);
choice();
elsecheck_in();
/*费用查询函数*/voidprice()system(cls);
printf(n*费用查询*n);
intday=0;
inthr=0;
inttotal_hour;
inttotal_day;
longintprice;
printf(请输入您的房间号:
while(i80)printf(nn您的房间号输入有误,请您重新输入:
while(roomi-1.flag=0)/*判断房间是否已有客人入住*/printf(nn该房间无人入住,请重新输入您的房间号:
printf(nn请按所示格式输入当前时间(年-月-日-时,时为24小时制):
/*输入当前时间*/shuru:
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您的入住时间输入有误,请按照格式重新输入:
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);
longintfee;
while(roomi-1.flag=0)/*判断房间是否有客人入住*/printf(nn该房间无人入住,请重新输入您的房间号:
while(price0)/*输出最后的总费用*/printf(nn扣除押金后,您另需支付费用%ld元。
fee);
elseif(fee=0)printf(nn您所交纳的押金恰好能够支付您的住房费用,您无需另行交钱。
elseprintf(nn您所交纳的押金还未使用完,本宾馆应支付您余额%ld元。
-fee);
printf(nnn您已退房成功,感谢您的光临,我们下次再见!
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;
/*信息查询函数*/voidinfor()system(cls);
printf(n*信息查询*n);
printf(nn您的信息如下:
/*输出客人信息*/printf(姓名:
puts(roomi-1.name);
printf(nn);
printf(证件号码:
puts(roomi-1.ID);
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);
/*功能选择函数*/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);
printf(请选择您需要的服务:
/*服务选择*/scanf(%d,&
while(k8)printf(nn代码输入有误,请您重新输入:
switch(k)case1:
/*调用房间情况函数*/case2:
/*调用登记入住函数*/case3:
/*调用主函数*/case7:
/*调用全部信息函数*/case8:
/*调用退出系统函数*/*判断闰年函数*/intjudge_year(intx)if(x%4=0)&
(x%100!
=0)|(x%400=0)return
(1);
elsereturn(0);
/*全部信息查询*/voidinformation()system(cls);
printf(n*全部信息*n);
intyear;
intmonth;
intyear1;
intmonth1;
intday1;
inthour1;
/*输入当前时间*/scanf(%d-%d-%d-%d,&
year,&
month,&
date,&
hour);
j=judge_year(year);
i+)read(i);
if(roomi-1.flag=0)printf(房间%d无人入住。
n,i);
if(i=40)printf(房间类型:
单人间。
printf(单价:
148元/天,8元/小时。
elseprintf(房间类型:
双人间。
128元/天,7元/小时。
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客户信息如下:
printf(姓名:
if(i=40)printf(单人间n);
elseprintf(双人间n);
if(roomi-1.flag=1)printf(按小时计费n);
elseprintf(按天计费n);
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(%ld元,roomi-1.deposit);
=month)for(k=roomi-1.t0.mon+1;
kmonth;
day+=tabjroomi-1.t0.mon-1-roomi-1.t0.date+date;
elseday+=date-roomi-1.t0.date;
hr=hour-roomi-1.t0.hour;
printf(n当前费用为:
%ld元.n,price);
/*输出当前费用*/day=0;
hr=0;
/*时间清零*/choice();
/*保存信息函数*/voidsave(intx)inti;
charc;
FILE*fp;
if(fp=fopen(酒店房间登记与计费管理系统信息存储文件.txt,wb+)=NULL)printf(无法打开文件。
printf(请按任意键返回主菜单,并选择“退出系统”选项,在修改错误后再运行此系统。
scanf(%s,&
c);
i=x;
i+)if(fwrite(&
roomi-1,si