📄 global.h
字号:
RenKouJieGou RenKouTJChuShi={
{0,0,0,0},
{0,0,0,0,0},
{0,0,0,0},
{0,0,0}
};
fwrite(&RenKouTJChuShi,sizeof(RenKouJieGou),1,fp);
}
RenKouJieGou * RenKouTJ=new RenKouJieGou ;
fseek(fp,0,0);
fread(RenKouTJ,sizeof(RenKouJieGou),1,fp);
fclose(fp);
return RenKouTJ;
}
int Global::WriteRenKouTJToFile(char *fName,RenKouJieGou *RenKouTJ)
{
FILE *fp;
if((fp=fopen(fName,"rb+"))==NULL) //不存在则新建一个
{
if((fp=fopen(fName,"wb+"))==NULL)
{
ShowMessage("创建文件失败!!");
fclose(fp);
return -1;
}
}
fseek(fp,0,0);
fwrite(RenKouTJ,sizeof(RenKouJieGou),1,fp);
fclose(fp);
return 0;
}
int Global::AddJieGouMes(RenKouJieGou *RenKouTJ,int Age,int WenHua,int ShouRu,int XingZhi)
{
//年龄统计
if(Age<18) RenKouTJ->NLJieGou[0]++;
else if(Age<30) RenKouTJ->NLJieGou[1]++;
else if(Age<50) RenKouTJ->NLJieGou[2]++;
else RenKouTJ->NLJieGou[3]++;
//文化统计
if(WenHua==-1) ;
else RenKouTJ->WHJieGou[WenHua]++;
//收入统计
if(ShouRu==-1) ;
else RenKouTJ->SRJieGou[ShouRu]++;
//性质统计
if(XingZhi==-1) ;
else RenKouTJ->XZJieGou[XingZhi]++;
return 0;
}
int Global::DeleteJieGouMes(RenKouJieGou *RenKouTJ,int Age,int WenHua,int ShouRu,int XingZhi)
{
//年龄统计
if(Age<18) RenKouTJ->NLJieGou[0]--;
else if(Age<30) RenKouTJ->NLJieGou[1]--;
else if(Age<50) RenKouTJ->NLJieGou[2]--;
else RenKouTJ->NLJieGou[3]--;
//文化统计
if(WenHua==-1) ;
else RenKouTJ->WHJieGou[WenHua]--;
//收入统计
if(ShouRu==-1) ;
else RenKouTJ->SRJieGou[ShouRu]--;
//性质统计
if(XingZhi==-1) ;
else RenKouTJ->XZJieGou[XingZhi]--;
return 0;
}
//---
int Global::WriteRoomToFile(char *filename,Room *room) //将房间信息保存到文件
{
FILE *fp;
if((fp=fopen(filename,"rb+"))==NULL) //不存在则新建一个
{
if((fp=fopen(filename,"wb+"))==NULL)
{
ShowMessage("创建文件失败!!");
fclose(fp);
return -1;
}
}
fseek(fp,0L,2);
fwrite(room,sizeof(Room),1,fp);
fclose(fp);
return 0;
}
int Global::WriteRoomGuestToFile(char *filename,RoomGuest *guest)//将房客信息保存到文件
{
FILE *fp;
if((fp=fopen(filename,"rb+"))==NULL) //不存在则新建一个
{
if((fp=fopen(filename,"wb+"))==NULL)
{
ShowMessage("创建文件失败!!");
fclose(fp);
return -1;
}
}
fseek(fp,0L,2);
fwrite(guest,sizeof(RoomGuest),1,fp);
fclose(fp);
return 0;
}
int Global::IsOrderedRoom(char *filename,int roomnum)//判断该房间号是否已经被订
{
FILE *fp;
if((fp=fopen(filename,"rb+"))==NULL) //不存在则新建一个
{
ShowMessage("打开文件失败!!");
fclose(fp);
return -1;
}
fseek(fp,0L,0);
Room *room=new Room;
while(1)
{
if( fread(room,sizeof(Room),1,fp) !=1)
break;
if(room->Number==roomnum)
{
if(room->Ordered==1)
{
//ShowMessage("该房间号已经被订!!");
fclose(fp);
return 0;
}
else
break;
}
}
delete room;
fclose(fp);
return -1;
}
Room* Global::FindSingleRoom(char *filename,int roomnum)//用房间号查找房间
{
FILE *fp;
if((fp=fopen(filename,"rb+"))==NULL) //
{
ShowMessage("打开文件失败!!");
fclose(fp);
return NULL;
}
fseek(fp,0L,0);
Room *room=new Room;
while(1)
{
if( fread(room,sizeof(Room),1,fp) !=1)
break;
if(room->Number==roomnum)
{
fclose(fp);
return room;
}
}
//delete room;
fclose(fp);
return NULL;
}
int Global::GetLastRoomNumber(char *filename)//得到最后的房间号
{
FILE *fp;
if((fp=fopen(filename,"rb+"))==NULL) //不存在则新建一个
{
if((fp=fopen(filename,"wb+"))==NULL)
{
ShowMessage("创建文件失败!!");
fclose(fp);
return 1000;
}
}
fseek(fp,-1*sizeof(Room)*1L,2);
Room *room=new Room;
if( fread(room,sizeof(Room),1,fp) !=1)
{
delete room;
fclose(fp);
return 1000;
}
int num=room->Number;
delete room;
fclose(fp);
return num;
}
int Global::SetOrderedRoom(char *filename,int roomnum,int order)//设置该房间号是否已经被订
{
FILE *fp;
if((fp=fopen(filename,"rb+"))==NULL) //不存在则新建一个
{
if((fp=fopen(filename,"wb+"))==NULL)
{
ShowMessage("创建文件失败!!");
fclose(fp);
return -1;
}
}
fseek(fp,0L,0);
Room *room=new Room;
while(1)
{
if( fread(room,sizeof(Room),1,fp) !=1)
{//健壮性?
break;
}
if(room->Number==roomnum)
{
room->Ordered=order;
fseek(fp,-1*1L*sizeof(Room),1);//回移文件指针
fwrite(room,sizeof(Room),1,fp);
break;
}
}
delete room;
fclose(fp);
return 0;
}
int Global::SetGuestRoomNumber(char *filename,char *id,int number)//设置该房间号是否已经被订
{
FILE *fp;
if((fp=fopen(filename,"rb+"))==NULL) //不存在则新建一个
{
if((fp=fopen(filename,"wb+"))==NULL)
{
ShowMessage("创建文件失败!!");
fclose(fp);
return -1;
}
}
fseek(fp,0L,0);
RoomGuest *guest=new RoomGuest;
while(1)
{
if( fread(guest,sizeof(RoomGuest),1,fp) !=1)
break;
if(strcmp(guest->SfzID,id)==0)
{
guest->RoomNumber=number;
fseek(fp,-1*1L*sizeof(RoomGuest),1);//回移文件指针
fwrite(guest,sizeof(RoomGuest),1,fp);
break;
}
}
delete guest;
fclose(fp);
return 0;
}
UserIndex *pCZRYHead,*pSWRYHead,*pQCRYHead,*pZZRYHead;//定义常住人员等信息的索引链表头指针
//UserIndex *pIndex;//定义节点
RenKouJieGou * RenKouTJ;//定义人员统计结构
bool Admin=false;
//-----------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -