c语言编程酒店管理,今天帮别人编写的酒店管理软件

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

{clrscr();

printf(“很抱歉,该房间已有客人入住,请按ESC返回”);

while(getch()!=033);

return;}

printf(“您选择的房间%d号房按小时计费为%d元/时,按天计费为%d元/天,请选择客户的计费方式:n”,n,room[n-1].h_money,room[n-1].d_money);

printf(“1–按小时收费n2–按天收费”);//分两种情况进行对flag的赋值

ch=getch();

while(ch!=’1’&&ch!=’2′)

ch=getch();

if(ch==’1′)room[n-1].flag=1;

else room[n-1].flag=2;

printf(“n请输入客户的姓名:”);

fflush(stdin);

gets(room[n-1].name);

printf(“请输入客户准备支付的押金金额(0~10000元):”);

scanf(“%d”,&room[n-1].deposit);

while(room[n-1].deposit10000)

{fflush(stdin);

printf(“输入错误,请重新输入客户准备支付的押金金额(0~10000元):”);

scanf(“%d”,&room[n-1].deposit);}

printf(“请确认是否入住:(Y/N)”);

ch=getch();

while(ch!=’y’&&ch!=’n’)//如果确认入住,则记录入住时间,并加以显示,之后自动存档

ch=getch();

if(ch==’y’)

{start=time(NULL);

printf(“n您的入住时间为”);

local=localtime(&start);

printf(“%d年%d月%d日%d时%d分”,local->tm_year+1900,local->tm_mon+1,local->tm_mday,local->tm_hour,local->tm_min);

switch(room[n-1].flag)

{case 1:strcpy(fangshi,”按小时收费”);break;

case 2:strcpy(fangshi,”按天收费”);break;

default:break;}

printf(“n您选择的收费方式为%s”,fangshi);

room[n-1].start=start;

save();

printf(“n请按ESC返回主菜单”);

while(getch()!=033);

}

return;

}

long h_calculate(long end,long start,int money)//按小时计费函数

{

long fee;

int hour,min;

if((end-start)/60

else if((end-start)/60

hour=(end-start)/3600;

min=((end-start)%3600)/60;

if(min>30)hour++;

fee=hour*money;

return fee;

}

long d_calculate(long end,long start,int money)//按天计费函数

{int day;

long fee,dif;

dif=end-start;

if(dif

day=dif/(3600*24);

if(dif%(3600*24)!=0)day++;

fee=day*money;

return fee;

}

void display2()//显示所有空房信息

{

int i;

clrscr();

read();

printf(“房号   价格元(时/天)”);

for(i=0;i

{if(room[i].flag==0)

printf(“n%-7d    %d/%d”,room[i].num,room[i].h_money,room[i].d_money);

}

printf(“n请按ESC返回主菜单”);

while(getch()!=033);

return;

}

void yingzhifu(long money,int dep)//通过押金和应付费用的核算,得出最后的收费办法

{long dif=(long)dep-money;

if(dif==0)printf(“押金与费用相等”);

else if(dif>0)printf(“酒店应找还客户%ld元”,dif);

else printf(“客户应再支付%ld元”,dif*(-1));

}

void cancel()//退房功能函数

{struct tm *local;

int n;

time_t end;

char ch;

long money;

end=time(NULL);

clrscr();

if(find()==0)//如果find()值为0,则提示房间全空,按键返回

{printf(“当前房间尚未有人入住,无法办理退房手续,请按ESC返回”);

while(getch()!=033);

return;}

printf(“请选择退房的房号(1~%d):”,M);

fflush(stdin);

scanf(“%d”,&n);

while(n>M||n

{clrscr();

fflush(stdin);

printf(“输入错误,请重新输入退房的房间号(1~%d):”,M);

scanf(“%d”,&n);

}

if(room[n-1].flag==0)

{

clrscr();

printf(“该房间尚未有人入住,无法办理退房,请按ESC返回”);//如果无人入住,则提示返回

while(getch()!=033);

return;}

printf(“房号:%dn入住客人姓名:%sn”,room[n-1].num,room[n-1].name);//显示房间的全部信息

printf(“入住时间:”);

local=localtime(&room[n-1].start);

printf(“%d年%d月%d日%d时%d分”,local->tm_year+1900,local->tm_mon+1,local->tm_mday,local->tm_hour,local->tm_min);

printf(“n押金:%d”,room[n-1].deposit);

printf(“n收费方式:”);

if(room[n-1].flag==1)//通过检查flag的值确认之后显示的数据

{printf(“按小时收费,超过半小时按一小时收费,不足半小时不计入时间n”);

printf(“当前费用:%ld”,money=h_calculate(end,room[n-1].start,room[n-1].h_money));

printf(“n应支付:”);

yingzhifu(money,room[n-1].deposit);

}

else

{printf(“按天收费n”);

printf(“当前费用:%ld”,money=d_calculate(end,room[n-1].start,room[n-1].d_money));

printf(“n应支付:”);

yingzhifu(money,room[n-1].deposit);

}

printf(“n是否确认为该房间办理退房手续(Y/N));//如果确认退房,则将该房间的部分信息归0,完成退房

ch=getch();

while(ch!=’y’&&ch!=’n’)

ch=getch();

if(ch==’y’)

{

room[n-1].flag=0;

strcpy(room[n-1].name,”-empty-“);

room[n-1].start=0;

room[n-1].deposit=0;

save();

printf(“n已经完成退房手续,请按ESC返回”);

while(getch()!=033);

}

return;

}

文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览113450 人正在系统学习中 相关资源:糖烟茶酒行业管理软件 烟酒进销存店铺销售收银管理系统

来源:scry.info

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年4月18日
下一篇 2021年4月18日

相关推荐