您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 酒店管理系统--C语言版
酒店管理程序设计公管1102亓升辉#includestdio.h#includestdlib.h#includestring.h#includetime.h//成员变量的声明inti,j,k,p=0;chartemp[]=;introom[5][5];clock_tstart;//成员方法的声明voidinit(){intx,y;for(x=0;x5;x++){for(y=0;y5;y++)room[x][y]=0;}}voidhotelTitle(){printf(\n-------酒店房间登记与计费管理系统----\n);printf(\t1.登记入住\n);printf(\t2.查询房间的入住情况\n);printf(\t3.查询当前费用\n);printf(\t4.结账退房\n);printf(\t5.退出程序\n);}voidhotel_execute();voidhotel_select();voidhotel_outhotel();voidoutsystem();voidhotel_total();intmain(void){system(colorf1);init();while(1){Loop:hotelTitle();printf(\n请选择:);j=scanf(%d,&k);if(j==0||k1||k5){printf(\n输入错误。\n\t请输入所列出的选项。\n\n3秒后刷新...PleaseWeit!Thanks\n);fflush(stdin);//sleep(3000);system(cls);gotoLoop;}else{switch(k){case1:hotel_execute();break;case2:hotel_select();break;case3:hotel_total();break;case4:hotel_outhotel();break;case5:outsystem();return0;default:printf(\n\t系统出错!请联系管理员!\n);//怕出现BUGreturn0;}}fflush(stdin);//清空缓存}}//入住登记}}voidhotel_execute(){intx,y;printf(请输入你要住本酒店多少层楼的住房?【1-5】);fflush(stdin);L:scanf(%d,&x);p=x;if(x5){printf(不好意思本店没有该层楼房。\n请重新选择:);gotoL;}printf(请输入你要住第%d层的几号房间?【1-5】,x);fflush(stdin);LP:scanf(%d,&y);if(y5){printf(不好意思该层楼并无该房间。\n请重新选择:);gotoLP;//无条件的回去GOTO语句}if(x2){//二层以上则100元一天printf(\n提示:该房是贵宾套房,100元一天\n);}else{printf(\n提示:该房是标准套房,50元一天\n);}if(room[x-1][y-1]==0)//判断该房已经入住{room[x-1][y-1]=1;printf(\n谢谢您的光临,您已经成功登记。\n您的信息如下:\n入住房间:%d-%d\n,x,y);start=clock();}else{printf(警告:该房已经有人入住...请换房入住哈。\n);}}//查询住房信息voidhotel_select(){intx,y,z;system(cls);//清空内容。//以下没什么重要的。就是控制输出格式printf(宾馆入住情况如下:);printf(\n|-------|--------|--------|--------|--------|--------|\n);printf(||);for(x=1;x=5;x++){printf(房间号|);}printf(\n);for(x=0;x5;x++){if(x==0){printf(|-------|--------|--------|--------|--------|--------|\n|第%d层|,x+1);}else{printf(\n|-------|--------|--------|--------|--------|--------|\n|第%d层|,x+1);}for(y=0;y5;y++){if(room[x][y]==0){printf(空%d-%d|,x+1,y+1);}else{printf(住%d-%d|,x+1,y+1);}if(y+1==5){if(x+1==1||x+1==2)printf(该层标间均50元);elseprintf(该层标间均100元);}}}printf(\n|-------|--------|--------|--------|--------|--------|\n);printf(\n住房信息:\n);for(x=0,z=0;x5;x++){for(y=0;y5;y++){if(room[x][y]!=0){z++;printf(\t%d-%d有人入住\n,x+1,y+1);}}}if(z==0){printf(\t现无人入住本酒店...\n);}}//结账voidhotel_outhotel(){intx=0,y=0;printf(请输入您要结账退房的楼层编号?);scanf(%d,&x);printf(请输入该楼层退房的房间编号?);scanf(%d,&y);if(room[x-1][y-1]==1){room[x-1][y-1]=0;printf(\n\t房间%d-%d退房成功,再会。\n,x,y);}else{printf(\n\t房间%d-%d退房失败。\n\t\t原因:未入住,是空房,不需要退...再会。\n,x,y);}}//查看价钱voidhotel_total(){/*在c语言中有专门处理系统时间,程序计时等等功能的库,即time.h在time.h中函数clock_tclock(void)可以完成计时功能。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clocktick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找到对它的定义:#ifndef_CLOCK_T_DEFINEDtypedeflongclock_t;#define_CLOCK_T_DEFINED#endif很明显,clock_t是一个长整形数。time.h文件中,在还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:#defineCLOCKS_PER_SEC((clock_t)1000)可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。*/clock_tfinish=clock();doubleduration=(double)(finish-start)/CLOCKS_PER_SEC;doubleday=duration/60/60/24;//这里是将秒换成天doubletotal=0;printf(您住了%f秒钟...\n,duration);//按任意键继续...system(pause);if(p2){total=day*100;if(day==0){total=100;}printf(\n我们旅店是按包天计费的。\n若按小时,您需要付%f元,但是现在你要付100元(黑店哈哈)\n,total);//这种计费方式比较现实。符合实际}else{total=day*50;if(day==0){total=50;}printf(\n我们旅店是按包天计费的。\n若按小时,您需要付%f元,但是现在你要付50元(黑店哈哈)\n,total);}}//退出voidoutsystem(){charmessage[]=\n酒店登记计费系统.打造酒店中的名牌....;inti,j;j=strlen(message);for(i=0;ij;i++){printf(%c,message[i]);//sleep(30);//睡眠30毫秒。}printf(\n\n);}
本文标题:酒店管理系统--C语言版
链接地址:https://www.777doc.com/doc-3870685 .html