case 2: check_in(); break;
case 3: check_out(); break;
case 4: inquire(); break; } } }
//订房实现*************************************************************************** void book_room() {
int room_standard,day;
customer[i] = (struct Customer*)malloc(sizeof(struct Customer)); CCustomer(customer[i]);
printf(\请您选择预定房间的标准:\\n\
printf(\单人间/天150元\\n2.双人间/天200元\\n3.标准间/天300元\\n4.总统套房/天600元\\n\
scanf(\ printf(\请输入预定天数\\n\ scanf(\ set_day(customer[i],day); switch(room_standard) { int n; case 1:
printf(\住房费用总共为: %d 元\\n\ //计算住房费用
for(n=0;n<20;n++) //从第一个级别的房间中查找一个空闲的房间 {
if(room[n].state==0) //state=0表示该住房没有被预定的 {
printf(\预定成功★房间号码为: %d\\n\ room[n].state=1;
set_room_number(customer[i],room[n].number); break; } } break; case 2:
printf(\住房费用总共为: %d 元\\n\ for(n=20;n<40;n++) {
if(room[n].state==0) {
printf(\预定成功★房间号码为: %d\\n\ room[n].state=1;
set_room_number(customer[i],room[n].number); break; } } break; case 3:
printf(\住房费用总共为: %d 元\\n\ for(n=40;n<60;n++) {
if(room[n].state==0)
{
printf(\预定成功★房间号码为: %d\\n\ room[n].state=1;
set_room_number(customer[i],room[n].number); break; } } break; case 4:
printf(\住房费用总共为: %d 元\\n\ for(n=60;n<80;n++) {
if(room[n].state==0) {
printf(\预定成功★房间号码为: %d\\n\ room[n].state=1;
set_room_number(customer[i],room[n].number); break; } } break; }
i++; //住房的顾客数加1 }
//入住登记*************************************************************************** void check_in() {
char name1[10],id1[19]; int ding_or_no,prepaid;
int j;
printf(\该顾客订房了吗? (1->订了 2->没订) \ scanf(\
if(ding_or_no==1) {
printf(\请输入顾客的姓名:\\n\ scanf(\
printf(\请输入顾客的身份证号码:\\n\ scanf(\ for(j=0;j
if((strcmp(get_name(customer[j]),name1)==0)&&(strcmp(get_ID(customer[j]),id1)==0)) //查找该顾客的定房信息 {
int num=get_room_number(customer[j]); //取得定房的房间号 printf(\顾客 %s 今天入住本宾馆! 房间号码为: %d\\n\ switch(num/100) { case 6:
prepaid=get_day(customer[j])*150; set_prepaid(customer[j],prepaid);
printf(\请收房费 %d元整!\\n\开始收费
room[num0-1].state=2; //修改房间状态为入住状态 break; case 7:
prepaid=get_day(customer[j])*200; set_prepaid(customer[j],prepaid);
printf(\请收房费 %d元整!\\n\ room[19+num0].state=2; break; case 8:
prepaid=get_day(customer[j])*300; set_prepaid(customer[j],prepaid); printf(\请收房费 %d元整!\\n\ room[39+num0].state=2; break; case 9:
prepaid=get_day(customer[j])*600; set_prepaid(customer[j],prepaid); printf(\请收房费 %d元整!\\n\ room[59+num0].state=2; break; } break; } } } else {
int room_standard,day;
customer[i] = (struct Customer*)malloc(sizeof(struct Customer)); CCustomer(customer[i]);
printf(\请您选择预定房间的标准:\\n\
printf(\单人间/天150元\\n2.双人间/天200元\\n3.标准间/天300元\\n4.总统套房/天600元\\n\
scanf(\