小型学生公寓管理系统(C/C++)

本文介绍了一个使用C/C++编程语言实现的小型学生公寓管理系统,该系统可能涉及struct数据结构、输入输出流(iostream)以及文件操作等功能,通过each关键字遍历和查询数据,同时处理null值情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

#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)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值