#include < iostream > using namespace std; const int ROOM_NUM = 4 ; const int STU_NUM_EACH_ROOM = 4 ; enum OP ... {RESIDEIN=1, OUT, QUERY, QUIT} ; enum QUER ... {BYNO=1, BYNAME, BYROOMNO, ALL, BACK} ; // 查询方式 typedef struct Room ... { int roomNo; int sNum; //该房间现住人数 int sNo[STU_NUM_EACH_ROOM]; //房间里住的学生的学号 struct Room* next;} Room, * PRoom;typedef struct Student ... { int sNo; char sName[20]; int roomNo; struct Student* next;} Student, * PStudent; void printMessage( const char * mess) ... { cout << mess;} void makeRooms(PRoom & prs) ... { prs = new Room[ROOM_NUM]; if(prs) ...{ for(int i=0; i<ROOM_NUM; ++i) ...{ prs[i].roomNo = i+1; prs[i].sNum = 0; memset(prs[i].sNo,0,sizeof(prs[i].sNo)); prs[i].next = NULL; } } else ...{ printMessage("宿舍没盖成功,可能是资金的问题! "); exit(1); }} int getRoomNo(PRoom & prs) ... { for(int i=0; i<ROOM_NUM; ++i) ...{ if(prs[i].sNum < STU_NUM_EACH_ROOM) return prs[i].roomNo; } return 0;} PStudent checkSno(PStudent & pslh, int sno)