




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
extern int GuestNumber;#include Structs.hint GuestNumber;int GuestNumber=0;void main(void) LoadHotelInfo(rooms); LoadGuestInfo(); LoadGARInfo(); handlemenu();void printMenu() printf( 1 查看旅店信息n 2 查看某一房间信息n 3 查看旅客信息n 4 查看某一旅客信息n 5 旅客入住n 6 旅客换房n 7 旅客退房n 8 退出n );void handlemenu() int i=0; do printMenu(); printf(请选择:); scanf(%d,&i); fflush(stdin); switch(i) case 1: ViewAllHotel(); printf(nn); break; case 2: ViewOneRoom(); printf(nn); break; case 3: ViewAllGuest(); printf(nn); break; case 4: ViewOneGuest(); printf(nn); break; case 5: GuestCheckIn(); printf(nn); break; case 6: GuestChangeRoom(); printf(nn); break; case 7: GuestCheckOut(); printf(nn); break; case 8: SabeGARInfo(); SabeGuestInfo(); SaveHotelInfo(rooms); exit(0); while(1);#include#include#include#include#include#define FLOORNUMBER 4#define ROOMNUMBER 5typedef enum RoomTypeSingle=1,Double=2,Triangle=3RoomType;typedef struct room int RoomNumber; RoomType roomtype; int CheckInNumber; int RoomPrice;Room;typedef struct guestandroom char GuestID20; int GustInRoom; char CheckInTime30; char CheckOutTime30;GuestAndRoom;typedef struct guestandroom charName10; char sex3; char ID20;Guest;void menu();void LoadHotelInfo(Room pararoomFLOORNUMBER);void ViewAllHotel();void SaveHotelInfo(Room pararoomFLOORNUMBER);void LoadGuestInfo();void SaveGuestInfo();void viewOneGuest();void ViewAllGuest();void AppendGuestInfo();void GuestCheckIn();void GuestChangeRoom();void GuestCheckOut();void ChangeBookDay();void AppendGARInfo();void LoadGARInfo();void SabeGARInfo();void AppendGuestHistoryInfo(int Guesti,int GARj);void handlemenu();void peintMenu();void ViewOneRoom();int IsOldGuest();int DelGuest(char ID);int CountGuest(Room pararoomFLOORNUMBER);int CheckRAGIndex(char ID);int CheckGreeRoom(char Sex);int FindOneGuest();char *CheckRoomSex(int RoomNumber);Room roomsFLORNUMBERROOMNUMBER;Guest ptoguest55;GuestAndRoom GAR55;#include Structs.hextern int GuestNumber;void AppendGARInfo() FILE *fp; if(fp=fopen(guestandroom.txt,a)=NULL) printf(文件读取失败); exit(0); fprintf(fp,%dt%st%sn,GARGuestNumber-1.GuestInRoom,GARGuestNumber-1.CheckInTime); fclose(fp);void LoadGARInfo() FILE *fp; int iCount=0; char temp10=; if(fp=fopen(guestandroom.txt,r)=NULL) printf(文件读取失败!决策管理n); exit(0); fscanf(fpp,%*s %*s %*s%*s,temp,temp,temp,temp); for(iCount=0;iCountGuestNumber;iCount+) fscanf(fp,%d%sttt,&GARiCount.GuestInRoom,GARiCount.GuestID); fgets(GARiCount.CheckInTime,25,fp); strcpy(GARiCount.CheckOutTime,); fclose(fp);void SaveGARInfo() FILE *fp; int iCount=0; if(fp=fopen(guestandroom.txt,w)=NULL) printf(文件读取失败); exit(0); fprintf(fp,%st%st%st%sn,房间,身份证,入住时间,退房时间); for(iCount=0;iCountGuestNumber;iCount+) fprintf(fp,%dtt%sttt%sttt%sn,GARiCount.GuestInRoom,GARiCount.GuestID,GARiCount.CheckInTime,GARiCount.CheckOutTime); fclose(fp);int CheckRAGIndex(char ID) int gindex=-1; int garindex=-1; int icount; for(icount=0;icountGuestNumber;icount+) if(!strcmp(ID,ptoguesticount.ID) gindex=icount; break; if(gindex!=-1) for(icount=0;icountGuestNumber;icount+) if(!strcmp(ptoguestgindex.ID,GARicount.GuestID) garindex=gindex; break; return garindex;void GuestCheckIn() int NewRoomNumber; int NewGuestSexN; int i; int j; int CheckSex=0; time-t t; t=time(NULL); printf(请输入旅客姓名:n); scanf(%s,ptoguestGuestNumber.Name); do printf(请选择旅客性别:n); printf(1 男n2 女n); scanf(%d,&NewGuestSexN); switch(NewGuestSexN); case 1: strcpy(ptoguestGuestNumber.sex,男); break; case 2: strcpy(ptoguestGuestNumber.sex,女); break; while(NewGuestSexN!=1&NewGuestSexN!=2); printf(请输入旅客身份证号码:n); scanf(%s,ptoguestGuestNumber.ID); CheckSex=CheckGreeToom(ptoguestGuestNumber.sex); if(!CheckSex) strcpy(ptoguestGuestNumber.ID,); strcpy(ptoguestGuestNumber.Name, ); strcpy(ptoguestGuestNumber.sex,); return; printf(请输入旅客选择入住房间号码:n); scanf(%d,&NewRoomNumber); for(i=0;i4;i+) for(j=0;j5;j+) if(roomsij.RoomNumber=NewRoomNumber) roomsij.CheckInNumber=roomsij.CheckInNumber+1; GuestNumber+=1; strcpy(GARGuestNumber-1.CheckInTime,ctime(&t); printf(入住时间为%sn,GARGuestNumber-1.CheckInTime); strcpy(GARGuestNumber-1.GuestID,ptoguestGuestNumber-1.ID); GARGuestNumber-1.GuestInRoom=NewRoomNumber; AppendGuestInfo(); AppendGARInfo(); SaveHotelInfo(rooms);void GuestCheckOut() float discount=0,money=0; int Days=0,i; char ID20=; do printf(请输入旅客身份证:); scanf(%s,ID); for(i=0;iGuestNumber-1;i+) if(!strcmp(ID,proguesti.ID) break; if(i=GuestNumber) printf(您输入的用户不存在!); i=-1; while(i=-1); discount=(IsOldGuest(ID)2)?1:(IsOldGuest(ID)=4)?0.9:(IsOldGuest(ID)=6)?0.8:0.7; printf(此为顾客此次为第次住店,打折率为:%fn,IsOldGuest(ID)+1,discount); money=(float)DelGuest(ID); printf(请输入入住天数:n); scanf(%d,&Days); money=money*Days*discount; printf(应该付%f元n,money); SaveGARInfo(); SaveGuestInfo(); SaveHotelInfo(rooms);void GuestChangeRoom() char name10=; char ID19=; int RAGindex=-1; int GuestIndex=-1; char choice=0; int day=0; int i=0,j=0; int sum=0; int roomnumber=0; printf(请输入旅客的姓名:n); gets(name); printf(请输入要换房的旅客的身份证:n); gets(ID); RAGindex=CheckRAGIndex(ID); for(i=0;i=GuestNumber;i+) if(!strcmp(ID,proguesti.ID) printf(该旅客的信息如下n姓名t性别t入住的房间t入住的时间n); printf(%st%st%dt%sn,ptoguesti.Name,ptoguesti.sex,GARRAGindex.GuestInRoom,GARRAGindex.CheckInTime); GuestIndex=i; break; printf(确认以上信息企业员工培训实战教程(47个ppt 26个doc):/vip/288366.html?(y/n)n); choice=getchar(); if(choice=N|choice=n) return; printf(请输入该旅客的入住天数:n); scanf(%d,&day); for(i=0;iFLOORNUMBER;i+) for(j=0;jROOMNUMBER;j+) if(roomsij.RoomNumber=GARRAGindex.GuestInRoom) sum=day*roomsij.RoomPrice; break; if(sum) break; printf(请旅客缴纳前面的房款%d.n,sum); CheckRAGIndex(ptoguestGuestIndex.sex); printf(请输入要换入的房间号:n); scanf(%d,&roomnumber); if(roomnumber=GARRAGindex.GuestInRoom) printf(不能换入原房间); return; GARRAGindex.GuestInRoom=roomnumber; roomsij.CheckInNumber-; for(i=0;iFLOORNUMBER;i+) for(j=0;jROOMNUMBER;j+) if(roomsij.RoomNumber=roomnumber) roomsij.CheckInNumber+; break; SaveGARInfo(); SaveGuestInfo(); SaveHotelInfo(rooms);Guests.c:#include Structs.hextern int GuestNumber;void AppendGuestInfo() FILE *fp; if(fp=fopen(guest.txt,a)=NULL) printf(文件读取失败); exit(0); fprintf(fp,%st%st%stn,ptoguestGuestNumber-1.Name,ptoguestGuestNumber-1.sex,ptoguestGuestNumber-1.ID); fclose(fp);int CountGuest(Room pararoomFLOORNUMBERROOMNUMBER) int iFloor=0; int jRoom=0; int sum=0; for(iFloor=0;iFloorFLOORNUMBER;iFloor+) for(jRoom=0;jRoom0) sum+=pararoomiFloorjRoom.CheckInNumber; return sum;void LoadGuestInfo() FILE *fp; int iCount=0; char temp10=; if(fp=fopen(guest.txt,r)=NULL) printf(文件读取失败!n); exit(0); GuestNumber=CountGuest(rooms); fscanf(fp,%*s %*s %*s,temp,temp,temp); for(iCount=0;iCountGuestNumber;iCount+) fscanf(fp,%st%st%s,ptoguestiCount.Name,ptoguestiCount.sex,ptoguestiCount.ID); fclose(fp);void SaveGuestInfo() FILE *fp; int iCount=0; if(fp=fopen(guest.txt,w)=NULL) printf(文件读取失败); exit(0); fprintf(fp,%st%st%sn,姓名,性别,身份证); for(iCount=0;iCountGuestNumber;iCount+) fscanf(fp,%st%st%sn,ptoguestiCount.Name,ptoguestiCount.sex,ptoguestiCount.ID); fclose(fp);void ViewOneGuest() int i=FindOneGuest(); int GARNUM; if(i!=-1) GARNUM=CheckRAGIndex(ptoguesti.ID); printf(姓名t性别t身份证tt房间t入住时间n); printf(%st%st%stt%dt%stn,ptoguesti.Name,ptoguesti.sex,ptoguesti.ID,GARRAGindex.GuestInRoom,GARRAGindex.CheckInTime); return; else printf(没有此用户信息!n); return; int FindOneGuest() int i; char GuestID25; printf(n请输入旅客的省份证:n); scanf(%s,GuestID); fflush(stdin); for(i=0;iGuestNumber;i+) if(!strcmp(GuestID,ptoguesti.ID) rerurni; printf(没有此名顾客!); return -1;void ViewAllGuest() int i=0; int GARNUM; printf(-所有旅客信息-n); printf(姓名t性别t身份证t房间t入住时间n); for(i=0;iGuestNumber;i+) GARNUM=CheckTAGIndex(ptoguesti.ID); printf(%st%st%st%dt%stn,ptoguesti.Name,ptoguesti.sex,ptoguesti.ID,GARRAGindex.GuestInRoom,GARRAGindex.CheckInTime); printf(打印结束!n);int ISOldGuest(char NWEID) FILE *fp; char temp20=; char name10=; char ID20=; int Room=0; char CheckInTime30=; char CheckOutTime30=; int a=0; if(fp=fopen(guesthistory.txt,r)=NULL) printf(文件读取失败); exit(0); fscanf(fp,%*s %*s %*s %*s%*s,temp,temp,temp,temp,temp); while(!feof(fp) fscanf(fp,%s %s %d %s%s,name,ID,&Room,CheckInTime,CheckOutTime); if(!strcmp(NewID,ID) a+; return a;void AppendGuestHistoryInfo(int Guesti,int GARj) FILE *fp; if(fp=fopen(guesthistory.txt,a)=NULL) printf(文件读取失败); exit(0); fprintf(fp,%st%st%dttt%sttt%sn,ptoguestGuesti.Name,ptoguestGuesti.ID,GARGARj.GustInRoom,GARGARj.CheckInTime,GARGARj.CheckOutTime);void ViewOldGuest() FILE *fp; char name10; int ID; int Room; char CheckInTime30; char CheckOutTime30; if(fp=fopen(guesthistory.txt,r)=NULL) printf(文件读取失败); exit(0); printf(姓名tt身份证tt房间号tt入住时间tt退房时间ttn); do fscanf(fp,%s %d %d %s%sn,name,&ID,&Room,CheckInTime,CheckOutTime); printf(%stt %dtt %dtt%stt %sttn,name,ID,Room,CheckInTime,CheckOutTime) while(!feof(fp);int DelGuest(char ID) int i=0,j=0,GARj=0,roomi=0,roomj=0; int money=0; int out=1; time_t t; t=time(NULL); for(i=0;iGuestNumber;i+) if(!strcmp(ID,ptoguesti.ID) GARj=CheckRAGIndex(ptoguesti.ID); printf(入店时间为%sn,GARGARj.CheckInTime); strcpy(GARGARj.CheckOutTime,ctime(&t); printf(退店时间为%sn,GARGARj.CheckOutTime); for(roomi=0;roomi4&out;roomi+) for(roomj=0;roomj5;roomj+) if(GARGARj.GustInRoom=roomsroomiroomj.RoomNumber) money=roomsroomiroomj.RoomPrice; roomsroomiroomj.CheckInNumber=roomsroomiroomj.CheckInNumber-1; SaveHotelInfo(rooms); out=0; break; AppendGuestHistoryInfo(i,GARj); GuestNumber=GuestNumber-1; for(j=i;jGuestNumber;j+) ptoguestj=ptoguestj+1; for(j=GARj;jGuestNumber;j+) GARj=GARj+1; break; return money;Hotels.c:#includeStructs.hextern int GuestNumber;char *CheckRoomSex(int RoomNumber) int i,j; for(i=0;iGuestNumber;i+) if(RoomNumber=GARi.GustInRoom) for(j=0;jGuestNumber;j+) if(!strcmp(GARi.GuestID,ptoguesti.ID) return ptoguestj.sex; break; return NULL;int CheckFreeRoom(char Sex) int i,j,find=0; char roomsex3; printf(能入住的房间:n); for(i=0;i4;i+) for(j=0;iroomsij.CheckInNumber&(strcmp(Sex,roomsex)=0) printf(%dt,roomsij.RoomNumber); find=1; else printf(t); printf(n); if(!find) printf(没有合适房间!n房间已满。n); return find;void LoadHotelInfo(RoominnerroomFLOORNUMBERROOMNUMBER) FILE *fp; int iFloor=0; int jRoom=0; char temp9; if(fp=fopen(hotel.txt,r)=NULL) printf(文件读取失败); exit(0); fscanf(fp,%*s %*s %*s%*sn,temp,temp,temp,temp); for(iFloor=0;iFloorFLOORNUMBER;iFloor+) for(jRoom=0;jRoomROOMNUMBER;jRoom+) fscanf(fp,%d%d %d%dn,&innerroomiFloorjRoom.RoomNumber, &innerroomiFloorjRoom.roomtype, &innerroomiFloorjRoom.Chec
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国海洋功能性食品行业市场发展分析及竞争格局与投资前景研究报告
- 2025-2030中国浴盐行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国测试和老化插座行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国活动脚手架行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国注塑拉链行业市场现状分析及竞争格局与投资发展研究报告
- 电信诈骗防患于未然的智慧之战主题班会教学设计
- 精神病出院试题及答案
- 浙教版2023小学信息技术六年级上册1.2《抽象与建模》教学设计及反思
- 2025年税务师考试影响因素试题及答案
- 教师资格笔试内容解析试题及答案
- 西班牙社会与文化智慧树知到课后章节答案2023年下天津外国语大学
- 2021上海慢行交通规划设计导则
- 低压综合配电箱二次配线工艺守则
- 中国动画的发展中国动画发展史课件
- 2023年中央企业全面风险管理报告(模本)
- 浙江省绍兴市2023年中考英语真题(附答案)
- 龙虎斗(2017广东广州中考记叙文阅读试题含答案)
- 错合畸形的预防与早期矫治-错合畸形的早期矫治(口腔正畸学课件)
- 地下铁道-中南大学中国大学mooc课后章节答案期末考试题库2023年
- 废品站劳务合同范本
- 安全生产管理规章制度评审记录
评论
0/150
提交评论