c语言客房管理系统.docx
《c语言客房管理系统.docx》由会员分享,可在线阅读,更多相关《c语言客房管理系统.docx(22页珍藏版)》请在冰豆网上搜索。
c语言客房管理系统
#include
#include
#include
voidinitial_room();
voidwelcome();
voidenter();
voidbook_room();
voidcheck_in();
voidcheck_out();
voidinquire();
inti=0;
structRoom
{
intnumber;
intdank;
intprice;
intstate;
};
structCustomer
{
charname[10],ID[19];
introom_number;
intprepaid;
intchange;
intday;
};
voidset_name(structCustomer*cs,char*n)
{
strcpy(cs->name,n);
}
voidset_ID(structCustomer*cs,char*p)
{
strcpy(cs->ID,p);
}
voidset_room_number(structCustomer*cs,intn)
{
cs->room_number=n;
}
voidset_day(structCustomer*cs,intd)
{
cs->day=d;
}
voidset_prepaid(structCustomer*cs,intp)
{
cs->prepaid=p;
}
char*get_name(structCustomer*cs)
{
returncs->name;
}
char*get_ID(structCustomer*cs)
{
returncs->ID;
}
intget_room_number(structCustomer*cs)
{
returncs->room_number;
}
intget_day(structCustomer*cs)
{
returncs->day;
}
intget_prepaid(structCustomer*cs)
{
returncs->prepaid;
}
structRoomroom[80];
structCustomer*customer[80];
voidCCustomer(structCustomer*cs)
{
printf("qingnishurugukedexingming\n");
scanf("%s",&cs->name);
printf("qingnishurugukedeshengfenzhenghaoma\n");
scanf("%s",&cs->ID);
cs->prepaid=cs->change=cs->day=0;
}
voidFCustomer()
{
printf("gaiguketuifangchenggong!
");
}
intmain(void)
{
charchoice='1';
initial_room();
welcome();
while(choice=='1')
{
enter();
printf("\n");
printf("jixushiyongbenxitongqingan1,tuichuqingan2");
fflush(stdin);
scanf("%c",&choice);
printf("\n");
}
return0;
}
voidwelcome()
{
printf("\n");
printf("\n");
printf("********************************************************************************\n");
printf("*huanyingshiyongbinguankefangguanli*\n");
printf("********************************************************************************\n");
printf("\n");
}
voidenter()
{
intkind_of_service;
printf("qingxuanzefuwuleibie:
dingfang,ruzhu,tuifanghaishichaxun?
\n");
printf("1->dingfang\n2->ruzhu\n3->tuifang\n4->chaxun:
");
scanf("%d",&kind_of_service);
if((kind_of_service>4)||(kind_of_service<1))
{
printf("ningdeshuruyouwu,qingcongshi!
\n");
scanf("%d",&kind_of_service);
}
else
{
switch(kind_of_service)
{
case1:
book_room();
break;
case2:
check_in();
break;
case3:
check_out();
break;
case4:
inquire();
break;
}
}
}
voidbook_room()
{
introom_standard,day;
customer[i]=(structCustomer*)malloc(sizeof(structCustomer));
CCustomer(customer[i]);
printf("qingnixuanzeyudingfangjiandebiaozhun:
\n");
printf("1.danrenfangjian/tian150yuan\n2.shuangrenjian/tian200yuan\n3.biaozhunjian/tian300yuan\n4.zongtongtaofang/tian600yuan\n");
scanf("%d",&room_standard);
printf("qingshuruyudingtianshu\n");
scanf("%d",&day);
set_day(customer[i],day);
switch(room_standard)
{
intn;
case1:
printf("zhufangfeiyongzonggongwei:
%dyuan\n",day*150);
for(n=0;n<20;n++)
{
if(room[n].state==0)
{
printf("yudingchenggong*fangjianhaomawei:
%d\n",room[n].number);
room[n].state=1;
set_room_number(customer[i],room[n].number);
break;
}
}
break;
case2:
printf("zhufangfeiyongzonggongwei:
%dyuan\n",day*200);
for(n=20;n<40;n++)
{
if(room[n].state==0)
{
printf("yudingchenggong*fangjianhaomawei:
%d\n",room[n].number);
room[n].state=1;
set_room_number(customer[i],room[n].number);
break;
}
}
break;
case3:
printf("zhufangfeiyongzonggongwei:
%dyuan\n",day*300);
for(n=40;n<60;n++)
{
if(room[n].state==0)
{
printf("yudingchenggong*fangjianhaomawei:
%d\n",room[n].number);
room[n].state=1;
set_room_number(customer[i],room[n].number);
break;
}
}
break;
case4:
printf("zhufangfeiyongzonggongwei:
%dyuan\n",day*600);
for(n=60;n<80;n++)
{
if(room[n].state==0)
{
printf("yudingchenggong*fangjianhaomawei:
%d\n",room[n].number);
room[n].state=1;
set_room_number(customer[i],room[n].number);
break;
}
}
break;
}
i++;
}
voidcheck_in()
{
charname1[10],id1[19];
intding_or_no,prepaid;
intj;
printf("gaigukediingfanglema?
(1->diingle2->meiding)");
scanf("%d",&ding_or_no);
if(ding_or_no==1)
{
printf("qingshurugukedexingming:
\n");
scanf("%s",&name1);
printf("qingshurugukedeshengfenzhenghaoma:
\n");
scanf("%s",&id1);
for(j=0;j
{
if((strcmp(get_name(customer[j]),name1)==0)&&(strcmp(get_ID(customer[j]),id1)==0))
{
intnum=get_room_number(customer[j]);
printf("guke%sjintianruzhubebbingguan!
fangjianhaomawei:
%d\n",name1,num);
switch(num/100)
{
case6:
prepaid=get_day(customer[j])*150;
set_prepaid(customer[j],prepaid);
printf("qiingshoufangfei%dyuanzheng!
\n",prepaid);
room[num%100-1].state=2;
break;
case7:
prepaid=get_day(customer[j])*200;
set_prepaid(customer[j],prepaid);
printf("qingshoufangfei%dyuanzheng!
\n",prepaid);
room[19+num%100].state=2;
break;
case8:
prepaid=get_day(customer[j])*300;
set_prepaid(customer[j],prepaid);
printf("qingshoufangfei%dyuanzheng!
\n",prepaid);
room[39+num%100].state=2;
break;
case9:
prepaid=get_day(customer[j])*600;
set_prepaid(customer[j],prepaid);
printf("qingshoufangfei%dyuanzheng!
\n",prepaid);
room[59+num%100].state=2;
break;
}
break;
}
}
}
else
{
introom_standard,day;
customer[i]=(structCustomer*)malloc(sizeof(structCustomer));
CCustomer(customer[i]);
printf("qingnixuanzeyudingfangjiandebiaozhun:
\n");
printf("1.danrenjian/tian150yuan\n2.shuangrenjian/tian200yuan\n3.biaozhunjian/tian300yuan\n4.zongtongtaofang/tian600yuan\n");
scanf("%d",&room_standard);
printf("qingshuruzhusutianshu\n");
scanf("%d",&day);
set_day(customer[i],day);
switch(room_standard)
{
intn;
case1:
prepaid=day*150;
set_prepaid(customer[i],prepaid);
printf("qingshoufangfei%dyuanzheng\n",prepaid);
for(n=0;n<20;n++)
{
if(room[n].state==0)
{
printf("ruzhufangjianhaomawei:
%d\n",room[n].number);
room[n].state=2;
set_room_number(customer[i],room[n].number);
break;
}
}
break;
case2:
prepaid=day*200;
set_prepaid(customer[i],prepaid);
printf("qingshoufangfei%dyuanzheng\n",prepaid);
for(n=20;n<40;n++)
{
if(room[n].state==0)
{
printf("ruzhufangjianhaomawei:
%d\n",room[n].number);
room[n].state=2;
set_room_number(customer[i],room[n].number);
break;
}
}
break;
case3:
prepaid=day*300;
set_prepaid(customer[i],prepaid);
printf("qingshoufangfei%dyuanzheng!
\n",prepaid);
for(n=40;n<60;n++)
{
if(room[n].state==0)
{
printf("ruzhufangjianhaomawei:
%d\n",room[n].number);
room[n].state=2;
set_room_number(customer[i],room[n].number);
break;
}
}
break;
case4:
prepaid=day*600;
set_prepaid(customer[i],prepaid);
printf("qingshoufangfei%dyuanzheng:
!
\n",prepaid);
for(n=60;n<80;n++)
{
if(room[n].state==0)
{
printf("ruzhufangjianhaomawei:
%d\n",room[n].number);
room[n].state=2;
set_room_number(customer[i],room[n].number);
break;
}
}
break;
}
i++;
}
}
voidcheck_out()
{
charname2[10],id2[19];
intstandard,j,room_number,day1,day2,day;
printf("qingshuruyaotuifangdegukedexingmingheshengfenzhenghaoma:
\n");
scanf("%s%s",&name2,&id2);
printf("qingshurugaigukeshizhutianshu:
\n");
scanf("%d",&day2);
for(j=0;j
{
if((strcmp(get_name(customer[j]),name2)==0)&&(strcmp(get_ID(customer[j]),id2)==0))
{
characcount;
room_number=get_room_number(customer[j]);
standard=room_number/100;
day1=get_day(customer[j]);
day=day1-day2;
switch(standard)
{
case6:
printf("gukedefangjianhaoshi%d:
weidanrenjian,meitian150yuan\n",room_number);
printf("gaigukeyufulefangfei%dyuan,shijixiaofei%dyuanzheng!
\n",get_prepaid(customer[j]),day2*150);
printf("\n");
if(day>0)
printf("qingtuigeigaiguke%dyuanzheng!
\n",day*150);
if(day<0)
printf("qingbushougaigukezhufangfei%dyuanzheng!
\n",-day*150);
break;
case7:
printf("gukedefangjianhaoshi%d:
weidanrenjian,meitian200yuan\n",room_number);
printf("gaigukeyufulefangfei%dyuan,shijixiaofei%dyuanzheng!
\n",get_prepaid(customer[j]),day2*200);
printf("\n");
if(day>0)
printf("qingtuigeigaiguke%dyuanzheng!
\n",day*200);
if(day<0)
printf("qingbushougaigukezhufangfei%dyuanzheng!
\n",-day*200);
break;
case8:
printf("gukedefangjianhaoshi%d:
weidanrenjian,meitian300yuan\n",room_number);
printf("gaigukeyufulefangfei%dyuan,shijixiaofei%dyuanzheng!
\n",get_prepaid(customer[j]),day2*300);
printf("\n");
if(day>0)
printf("qingtuigeigaiguke%dyuanzheng!
\n",day*300);
if(day<0)
printf("qingbushougaigukezhufangfei%dyuanzheng!
\n",-day*300);
break;
case9:
printf("gukedefangjianhaoshi%d:
weidanrenjian,meitian600yuan\n",room_number);
printf("gaigukeyufulefangfei%dyuan,shijixiaofei%dyuanzheng!
\n",get_prepaid(customer[j]),day2*600);
printf("\n");
if(day>0)
printf("qingtuigeigaiguke%dyuanzheng!
\n",day*600);
if(day<0)
printf("qingbushougaigukezhufangfei%dyuanzheng!
\n",-day*600);
break;
}
printf("\n");
printf("tuifangkesuanqingchu,qingan1:
");
fflush(stdin);
scanf("%c",&account);
if(account=='1')
{
intk;
for(k=0;k<80;k++)
{
if(room[k].number==get_room_number(customer[j]))
room[k].state=0;
}
i--;
for(;j
{
customer[j]=customer[j+1];
}
free(customer[i]);
FCust