2、r(i=0;inum;i)if(strcmp(guestsi.Name,name)=0)returni;elsereturn-1;return0;/*显示单条客户记录*/voidguest_DisplaySingle(intindex)printf(ssssn,房间编号,姓名,性别,身份号码);printf(n);printf(%-10s%9s%9ssn,guestsindex.no,guestsindex.Name,guestsindex.sex,guestsindex.id);/*插入客户信息*/voidguest_Insert()while(1)printf(请输入房间编号:);scan
3、f(%s,guestsnum.no);getchar();printf(请输入姓名:);scanf(%s,guestsnum.Name);getchar();printf(请输入性别:);scanf(%s,guestsnum.sex);getchar();printf(请输入身份号码:);scanf(%s,guestsnum.id);while(strlen(guestsnum.id)!=18)printf(请输入18位身份证号码);scanf(%s,guestsnum.id);getchar();num;printf(是否继续(y/n);if(getchar()=n|getchar()=N
4、)break;/*修改客户信息*/voidguest_Modify()charno20;intindex;printf(请输入要修改的客户的房号:);scanf(%s,no);getchar();index=guest_SearchByIndex(no);if(index=-1)printf(该客户不存在!n);elseprintf(你要修改的客户信息为:n);guest_DisplaySingle(index);printf(-请输入新值-n);printf(请输入房间编号:);scanf(%s,guestsindex.no);getchar();printf(请输入姓名:);scanf(%
5、s,guestsindex.Name);getchar();printf(请输入性别:);scanf(%s,guestsindex.sex);getchar();printf(请输入您的身份证号码);scanf(%s,guestsindex.id);while(strlen(guestsindex.id)!=18)printf(请输入18位身份证号码n);scanf(%s,guestsindex.id);getchar();printf(是否继续(y/n);if(getchar()=y|getchar()!=Y)break;/*删除客户信息*/voidguest_Delete()inti;w
6、hile(1)charno20;intindex;printf(请输入要删除的客户房间编号:);scanf(%s,no);getchar();index=guest_SearchByIndex(no);if(index=-1)printf(该房间没人住!n);elseprintf(你要删除的客户信息为:n);guest_DisplaySingle(index);printf(是否真的要删除(y/n);if(getchar()=y)for(i=index;inum-1;i)guestsi=guestsi1;num-;getchar();printf(是否继续(y/n);if(getchar(
7、)=y|getchar()!=Y)break;/*按姓名查询*/voidguest_Select()charname20;intindex;printf(请输入要查询的客户的姓名:);scanf(%s,name);getchar();index=guest_SearchByName(name);if(index=-1)printf(该客户不存在!n);elseprintf(你要查询的客户信息为:n);guest_DisplaySingle(index);printf(是否继续(y/n);if(getchar()=y|getchar()!=Y)break;/*按房间号码查询*/voidgues
8、t_room()while(1)charno20;charindex;printf(请输入要查询的房间号码:);scanf(%s,no);getchar();index=guest_SearchByIndex(no);if(index=-1)printf(该房间为空!n);elseprintf(你要查询的客户信息为:n);guest_DisplaySingle(index);printf(是否继续(y/n);if(getchar()=y|getchar()!=Y)break;/*显示客户信息*/voidguest_Display()inti;printf(ssssn,房间编号,姓名,性别,身
9、份号码);printf(n);for(i=0;inum;i)printf(%-10s%9s%9ssn,guestsi.no,guestsi.Name,guestsi.sex,guestsi.id);getchar();/*将客户信息从文件读出*/voidIO_ReadInfo()FILE*fp;inti;if(fp=fopen(Database.txt,rb)=NULL)printf(不能打开文件!n);return;判断文件读入是否if(fread(&num,sizeof(int),1,fp)!=1)/*出错*/num=-1;elsefor(i=0;inum;i)fread(&guestsi
10、,sizeof(structguest),1,fp);fclose(fp);/*将客户信息写入文件*/voidIO_WriteInfo()FILE*fp;inti;if(fp=fopen(Database.txt,wb)=NULL)printf(不能打开文件!n);return;if(fwrite(&num,sizeof(int),1,fp)!=1)printf(写入文件错误!n);for(i=0;inum;i)if(fwrite(&guestsi,sizeof(structguest),1,fp)!=1)printf(写入文件错误!n);fclose(fp);/*主程序*/voidmain(
11、)intm,b,x,h;IO_ReadInfo();while(1)*n);printf(&1.增加客户记录&n);printf(&2.修改客户记录&n);printf(&3.删除客户&n);printf(&4.按姓名查询客户记录&n);printf(&5.按房间号码查询客户记录&n);printf(&6.输出所有客户&n);printf(&7.退出&n);printf(/*主菜单*/printf(n*酒店客户入住登记管理*n);scanf(%d,&m);getchar();switch(m)printf(请您选择预定种类:n);标准间/夜printf(1.单人问/夜150元n2.双人间/
12、夜200元n3.300元n4.总统套房/夜600元n);scanf(%d,&b);getchar();switch(b)case1:printf(请输入预定天数n);scanf(%d,&x);printf(请预交款为讥n,x*150);printf(1.确定2.返回);scanf(%d,&h);printf(您已预定成功!n);break;case2:printf(请输入预定天数n);scanf(%d,&x);printf(printf(1.scanf(%d,&h);printf(case3:printf(scanf(%d,&x);printf(printf(1.scanf(%d,&h);printf(case4:printf(scanf(%d,&x);printf(printf(1.scanf(%d,&h);printf(default:printf(guest_Insert();break;guest_Modify();break;请预交款为讥n,x*200);确定2.返回);您已预定成功!n);break;请输入预定天数n);请预交款为讥n,x*300);确定2.返回);您已预定成功!n);break;请输入预定天数n);请预交款为讥n,x*600);确定2.返回