📄 buildingcreate.cpp
字号:
// BuildingCreate.cpp: implementation of the BuildingCreate class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Dormitory.h"
#include "BuildingCreate.h"
#include "building.h"
#include "Dbuilding.h"
#include "floor.h"
#include "RoomCreate.h"
#include <stdlib.h>
#include "Afxdisp.h"
#include <stdio.h>
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
extern CDormitoryApp theApp;
BuildingCreate::BuildingCreate()
{
}
BuildingCreate::~BuildingCreate()
{
}
int BuildingCreate::input(CString bno,CString fr,CString rm,CString mr,CString btel,CString by,CString tot,CString se)//读入宿舍楼基本信息
{
Dbuilding dg;
if(bno=="")
{
MessageBox(dg,"楼号不能为空!","警告!",MB_OK );
return 0;
}
if(fr=="")
{
MessageBox(dg,"层数不能为空!","警告!",MB_OK);
return 0;
}
if(rm=="")
{
MessageBox(dg,"房间数不能为空!","警告!",MB_OK);
return 0;
}
if(mr=="")
{
MessageBox(dg,"楼长姓名不能为空!","警告!",MB_OK);
return 0;
}
if(btel=="")
{
MessageBox(dg,"电话不能为空!","警告!",MB_OK);
return 0;
}
if(se=="")
{
MessageBox(dg,"面积不能为空!","警告!",MB_OK);
return 0;
}
no=bno;
floor=fr;
manager=mr;
room=rm;
tel=btel;
balcony=by;
toilet=tot;
size=se;
return 1;
}
Cbuilding *BuildingCreate:: create()//根据属性值创建building对象
{
Cbuilding* temp;
temp=(Cbuilding*)(((Cbuilding*)&theApp.dm.vec1)->SearchRecordByField("no",no));
if(temp)
{
AfxMessageBox("该楼的信息已经存在,请重新输入");
return NULL;
}
Cbuilding *building =new Cbuilding();//(m_no,floor,room,m_manager,m_tel);
building->no=no;
building->floor=floor;//楼层数
building->room=room;//房间数
building->manager=manager;
building->tel=tel;
building->remain=building->floor;//未满楼层个数
building->balcony=balcony;
building->size=size;//面积
building->toilet=toilet;
for(int i=1;i<=atoi(floor);i++)
{
Cfloor *Floor=new Cfloor();//创建楼层对象
Floor->no.Format("%d",i);
Floor->building=no;
if(i<atoi(floor))
Floor->room.Format("%d",atoi(room)/atoi(floor));
else
Floor->room.Format("%d",atoi(room)%atoi(floor));
Floor->sex="";
Floor->remain=Floor->room;//未满楼层数
RoomCreate *rc=new RoomCreate();//调用房间创建类RoomCreate
for(int j=1;j<=atoi(Floor->room);j++)
{
int n;
n=atoi(Floor->no)*100+j;//宿舍号
CString s;
s.Format("%d",n);
if(rc->input(s,building->no,Floor->no,building->balcony,building->toilet,building->size))//房间信息录入
{ Croom* rm=rc->create();//创建房间对象
Floor->AddRecord(rm);//保存在对应楼层中
}
else break;
}
building->AddRecord(Floor);//楼层信息保存在对应
}
theApp.dm.vec1.AddRecord(building);//保存在楼对象集合vec1中
return building;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -