




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北邮酒店管理源代码#include"linkNode.h"extern Time time0;/系统时间 extern int income;/酒店总收入 extern Room * president0,* president1,* luxury0,* luxury1,* standard0,* standard1,* single0,* single1;extern HEGG eggbackground,eggbai150,egghong150,eggbuttonbai7,eggbuttonhong7;void Systemreduction()/系统还原 FILE *
2、 fp;Room * lastptr1,* lastptr0;Room * currentptr=NULL;/辅助指针 president0=(Room *)malloc(sizeof(Room);/申请节点 president0->nextp=NULL; luxury0=(Room *)malloc(sizeof(Room);/申请节点 luxury0->nextp=NULL; standard0=(Room *)malloc(sizeof(Room);/申请节点 standard0->nextp=NULL; single0=(Room *)malloc(sizeof(Ro
3、om);/申请节点 single0->nextp=NULL;int count=0,number,state;if(fp=fopen("系统备份文件.txt","r")=NULL)printf("系统备份文件打开失败"); else if(!feof(fp) /先还原时间和总收入 fscanf(fp,"%d%d%d%d%d%lld%d",&time0.year,&time0.month,&time0.day,&time0.hour,&time0.min,&tim
4、e0.count,&income); while(count<20) fscanf(fp,"%d%d",&number,&state); if(state=0)/还原单人间空闲节点 currentptr=(Room *)malloc(sizeof(Room);/申请节点 currentptr->nextp=NULL; currentptr->number=number; fscanf(fp,"%d",¤tptr->price); currentptr->state=0; if(si
5、ngle0->nextp=NULL) single0->nextp=currentptr; else lastptr0->nextp=currentptr; lastptr0=currentptr; count+; if(state=1)/还原单人间入住节点 currentptr=(Room *)malloc(sizeof(Room);/申请节点 currentptr->nextp=NULL; currentptr->number=number; fscanf(fp,"%s%s%s%s%s%d%d%d%d%d%lld%d",&curre
6、ntptr->,¤tptr->people.sex, ¤tptr->people.tel,¤tptr->people.ID,¤tptr->people.city,¤tptr->year, ¤tptr->month,¤tptr->day,¤tptr->hour,¤tptr->min,¤tptr->count,&a
7、mp;currentptr->price); /single1->nextp=currentptr; if(single1->nextp=NULL) single1->nextp=currentptr; else lastptr1->nextp=currentptr; lastptr1=currentptr; SetActiveEgg(eggbai1currentptr->number/10+currentptr->number%100-10); ShowEgg(0); /该房间颜色变红 count+; count=0; while(count<
8、10) fscanf(fp,"%d%d",&number,&state); if(state=0)/还原标准间空闲节点 currentptr=(Room *)malloc(sizeof(Room);/申请节点 currentptr->nextp=NULL; currentptr->number=number; fscanf(fp,"%d",¤tptr->price); currentptr->state=0; if(standard0->nextp=NULL) standard0->
9、nextp=currentptr; else lastptr0->nextp=currentptr; lastptr0=currentptr; /standard0->nextp=currentptr; count+; if(state=1)/还原标准间空闲节点 currentptr=(Room *)malloc(sizeof(Room);/申请节点 currentptr->nextp=NULL; currentptr->number=number; fscanf(fp,"%s%s%s%s%s%d%d%d%d%d%lld%d",¤
10、tptr->,¤tptr->people.sex, ¤tptr->people.tel,¤tptr->people.ID,¤tptr->people.city,¤tptr->year, ¤tptr->month,¤tptr->day,¤tptr->hour,¤tptr->min,¤tptr->count,&am
11、p;currentptr->price); /standard1->nextp=currentptr; if(standard1->nextp=NULL) standard1->nextp=currentptr; else lastptr1->nextp=currentptr; lastptr1=currentptr; SetActiveEgg(eggbai1currentptr->number/10+currentptr->number%100-10); ShowEgg(0);/该颜色变红 count+; count=0; while(count&l
12、t;10) fscanf(fp,"%d%d",&number,&state); if(state=0)/还原豪华间空闲节点 currentptr=(Room *)malloc(sizeof(Room);/申请节点 currentptr->nextp=NULL; currentptr->number=number; fscanf(fp,"%d",¤tptr->price); currentptr->state=0; if(luxury0->nextp=NULL) luxury0->ne
13、xtp=currentptr; else lastptr0->nextp=currentptr; lastptr0=currentptr; /luxury0->nextp=currentptr; count+; if(state=1)/还原豪华间入住节点 currentptr=(Room *)malloc(sizeof(Room);/申请节点 currentptr->nextp=NULL; currentptr->number=number; fscanf(fp,"%s%s%s%s%s%d%d%d%d%d%lld%d",¤tptr
14、->,¤tptr->people.sex, ¤tptr->people.tel,¤tptr->people.ID,¤tptr->people.city,¤tptr->year, ¤tptr->month,¤tptr->day,¤tptr->hour,¤tptr->min,¤tptr->count,&cu
15、rrentptr->price); /luxury1->nextp=currentptr; if(luxury1->nextp=NULL) luxury1->nextp=currentptr; else lastptr1->nextp=currentptr; lastptr1=currentptr; SetActiveEgg(eggbai1currentptr->number/10+currentptr->number%100-10); ShowEgg(0); /该房间颜色变红 count+; count=0; while(count<10)/还
16、原总统套房空闲节点 fscanf(fp,"%d%d",&number,&state); if(state=0) currentptr=(Room *)malloc(sizeof(Room);/申请节点 currentptr->nextp=NULL; currentptr->number=number; fscanf(fp,"%d",¤tptr->price); currentptr->state=0; if(president0->nextp=NULL) president0->ne
17、xtp=currentptr; else lastptr0->nextp=currentptr; lastptr0=currentptr; /president0->nextp=currentptr; count+; if(state=1)/还原总统套房入住节点 currentptr=(Room *)malloc(sizeof(Room);/申请节点 currentptr->nextp=NULL; currentptr->number=number; fscanf(fp,"%s%s%s%s%s%d%d%d%d%d%lld%d",¤
18、tptr->,¤tptr->people.sex, ¤tptr->people.tel,¤tptr->people.ID,¤tptr->people.city,¤tptr->year, ¤tptr->month,¤tptr->day,¤tptr->hour,¤tptr->min,¤tptr->count,&am
19、p;currentptr->price); /president1->nextp=currentptr; if(president1->nextp=NULL) president1->nextp=currentptr; else lastptr1->nextp=currentptr; lastptr1=currentptr; SetActiveEgg(eggbai1currentptr->number/10+currentptr->number%100-10); ShowEgg(0);/该房间颜色变红 count+; printf("系统还原
20、成功!n"); else printf("系统文件还原失败!n"); fclose(fp);#include"linkNode.h"extern Time time0;/系统时间 extern int income;/酒店总收入 extern Room * president0,* president1,* luxury0,* luxury1,* standard0,* standard1,* single0,* single1;extern HEGG eggbackground,eggbai150,egghong150,eggbuttonba
21、i7,eggbuttonhong7;void Search(int p) int num,cout1=0,cout2=0,sum1=0,sum2=0,thenum=0; int j=0,i=0,sh=0,lc=0,lag=0,llag=0; /*cout1和cout2用于入住或空房间的计数,sum1用于可以入住的房间的计数, sum2用于已经入住的房间的计数, themun为输入的想查询的房间号 ,i为计数变量,lc为楼层 , lag作为标识符判断是否存在这个旅客,llag作为标识符判断是否存在该房间 */ Room * kroom4;/用于存储空的四条链表的头指针 Room * rroom4
22、;/用于存储已经入住的四条链表的头指针 if(p=5)/查询功能调用 printf("nn*查询*"); printf("n请输入你想查询的内容:"); printf("n 1.某房间的信息"); printf("n 2.某旅客的入住情况"); printf("n请输入: "); scanf("%d",&num); while(num!=1&&num!=2) printf("n输入错误!请重新输入: "); scanf("
23、%d",&num); if(p=6)/统计查询功能调用 printf("nn*统计查询*"); printf("n请输入您想查询的内容:"); printf("n 3.已入住信息"); printf("n 4.总收入"); printf("n请输入: "); scanf("%d",&num); while(num!=3&&num!=4) printf("n输入错误!请重新输入: "); scanf("%d
24、",&num); kroom0=single0;/kroomi代表空的房间链表的头指针 kroom1=standard0; kroom2=luxury0; kroom3=president0; rroom0=single1;/rroom代表入住的房间链表的头指针 rroom1=standard1; rroom2=luxury1; rroom3=president1; switch(num) case 1:/查询某房间的信息 printf("nn请你输入你想查询的房间号:"); scanf("%d",&thenum); for(i
25、=0;i<4;i+)/遍历入住房间链表 rroomi=rroomi->nextp; if(rroomi!=NULL) while(rroomi->number!=thenum)&&(rroomi->nextp!=NULL) rroomi=rroomi->nextp; /开始初始化时将链表设定为头节点为空的类型,所以遍历时要跳过该头节点 if(rroomi->number=thenum|rroomi->nextp!=NULL) / lc=(int)rroomi->number/100; printf("房间%d,房价%d,
26、旅客姓名为%s,入住时间为%d年%d月%d日%d点%d分",rroomi->number,rroomi->price, rroomi->,rroomi->year,rroomi->month,rroomi->day,rroomi->hour,rroomi->min); lag=1; /标记找到该房间 break; for(i=0;i<4;i+)/遍历空房间链表 kroomi=kroomi->nextp; if(kroomi!=NULL) while(kroomi->number!=thenum)&
27、amp;&(kroomi->nextp!=NULL) kroomi=kroomi->nextp; if(kroomi->number=thenum|kroomi->nextp!=NULL) /lc=(int)kroomi->number/100; printf("房间%d,房价%d,该房间无人入住",kroomi->number,kroomi->price); lag=1;/标记找到该房间 break; if(lag=0) printf("不存在房间号为%d的房间",thenum); break; cas
28、e 2:/查询某旅客的入住情况 printf("nn请输入你想查询的旅客的姓名: "); char thename10; scanf("%s",&thename); for(i=0;i<4;i+)/遍历入住房间链表 rroomi=rroomi->nextp; while(rroomi!=NULL) /while(rroomi->nextp!=NULL) if(strcmp(rroomi->,thename)=0) / lc=(int)rroomi->number/100; printf(&quo
29、t;该旅客住在%d房间,入住时间为 %d年%d月%d日%d点%d分,该房间单价为%dn", rroomi->number,rroomi->year,rroomi->month,rroomi->day,rroomi->hour,rroomi->min,rroomi->price); llag=1;/标识符,表示找到该旅客 break; else rroomi=rroomi->nextp; if(llag=0) printf("该旅客没有入住本酒店n"); break; case 3:/已入住信息 for(i=0;i&l
30、t;4;i+)/遍历入住房间链表 if(i=0) printf("n单人间已经入住的房间为:"); if(i=1) printf("n标准间已经入住的房间为:"); if(i=2) printf("n豪华间已经入住的房间为:"); if(i=3) printf("n总统套房已经入住的房间为:"); rroomi=rroomi->nextp; while(rroomi!=NULL) / while(rroomi->nextp!=NULL) printf("%d ",rroomi->
31、;number);/打印已入住房间 cout2+;/该类房间入住数加1 sum2+;/总的入住房间计数 rroomi=rroomi->nextp; if(i=0) printf("n单人间已经入住的房间个数为:%dn",cout2); printf("单人间入住率为 %d%",5*cout2);/入住率 if(i=1) printf("n标准间已经入住的房间个数为:%d",cout2); printf("n标准间入住率为 %d%",10*cout2);/入住率 if(i=2) printf("n豪华
32、间已经入住的房间个数为:%d",cout2); printf("n豪华间入住率为 %d%",10*cout2);/入住率 if(i=3) printf("n总统套房已经入住的房间个数为:%d",cout2); printf("n总统套房入住率为 %d%",10*cout2);/入住率 cout2=0; printf("nn总共已入住的房间个数为:%dn",sum2); printf("房间总入住率为: %d%",2*sum2); break; case 4:/查询总收入 printf(
33、"n酒店现总收入 %d",income); break; #include"linkNode.h"extern Time time0;/系统时间 extern int income;/酒店总收入 extern Room * president0,* president1,* luxury0,* luxury1,* standard0,* standard1,* single0,* single1;extern HEGG eggbackground,eggbai150,egghong150,eggbuttonbai7,eggbuttonhong7;void
34、 manage()/系统管理函数 可以修改房价 int t,type,price0,price00; Room * ptr=NULL; FILE * fp1; if(fp1=fopen("record.txt","a+")=NULL) printf("日志文件打开失败"); printf("nn请问是否需要修改房价(1:需要;0:不需要): "); scanf("%d",&t); while(t!=0&&t!=1) printf("n输入错误!请重新输入: &q
35、uot;); scanf("%d",&t); if(t=1)/需要修改房价 printf("n请问您需要修改哪类房间的价格?n"); printf(" 1.总统套房n 2.豪华间n 3.标准间n 4.单人间n"); printf("请输入: "); scanf("%d",&type); while(type<1|type>4) printf("n输入错误!请重新输入: "); scanf("%d",&type); swi
36、tch(type) case 1:/修改总统套房房价 if(president0->nextp!=NULL) ptr=president0->nextp; else ptr=president1->nextp; price00=ptr->price; printf("n总统套房的现房价为 %dn",ptr->price); printf("您要修改为: "); scanf("%d",&price0); while(price0<=0) printf("n输入错误!请重新输入: &q
37、uot;); scanf("%d",&price0); ptr=president0->nextp; while(ptr!=NULL)/遍历链表修改房价 ptr->price=price0; ptr=ptr->nextp; ptr=president1->nextp; while(ptr!=NULL) ptr->price=price0; ptr=ptr->nextp; fprintf(fp1,"%d年%d月%d日%d时%d分,将总统套房的房价由 %d 修改为 %d ;n", time0.year,time0.
38、month,time0.day,time0.hour,time0.min,price00,price0);/写入日志 printf("n房价修改成功!"); break; case 2:/修改豪华间房价 if(luxury0->nextp!=NULL) ptr=luxury0->nextp; else ptr=luxury1->nextp; price00=ptr->price; printf("n豪华间的现房价为 %dn",ptr->price); printf("您要修改为: "); scanf("%d",&price0); while(price0<=0) printf("n输入错误!请重新输入: "); scanf("%d",&price0); ptr=luxury0->nextp; while(ptr!=NULL)/遍历链表修改房价 ptr->price=price0; ptr=ptr->nextp; ptr=luxury1->nextp; while(ptr!
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 园林创业指导服务创新创业项目商业计划书
- 水产加工品线上线下互动营销创新创业项目商业计划书
- 含油果补肾食品创新创业项目商业计划书
- 2025年广西东盟经济技术开发区消防救援大队招聘考试笔试试题(含答案)
- 酒店宣传节目创新创业项目商业计划书
- 智能家居控制器创新创业项目商业计划书
- 海量信息智能搜索软件创新创业项目商业计划书
- 输变电专业知识培训课件
- 2025年智慧能源管理系统建设实施方案:智能能源服务市场增长动力分析
- 2025年海洋生态保护与修复人才培养现状与展望报告
- 中国超级电容器隔膜纸行业市场竞争态势及发展趋向研判报告
- 施工现场临时用电方案-顶管-
- 外墙保温吊篮施工安全技术交底
- GnRHa与hCG诱发排卵的比较
- 铁路工程线施工安全培训
- 高速公路安防工程施工方案
- 语文教研组活动内容
- 软件正版化培训
- 邮政邮件内部处理业务外包服务投标方案(技术方案)
- 保洁大理石清洗合同范例
- 碎石买卖合同
评论
0/150
提交评论