⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 student.cpp

📁 学生住宿管理系统 本程序用于交流方面,仅共学习交流,用于其他方面 功能欠缺
💻 CPP
字号:
// student.cpp: implementation of the Cstudent class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Dormitory.h"
#include "student.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Cstudent::Cstudent()
{
  
}




IMPLEMENT_SERIAL(Cstudent,CObject,1)

void Cstudent::Serialize(CArchive &ar){
	
	CObject::Serialize( ar );
	if(ar.IsStoring())
		ar<<no<<name<<grade<<dept<<sex;
	else
		ar>>no>>name>>grade>>dept>>sex;

	if(ar.IsStoring())
		
	{
		elems.Serialize(ar);
	}
	
	else
		
	{
		elems.Serialize(ar);
	}

		

}//序列化的实

CString Cstudent:: getField( CString Field )
{   int i;
	if(Field=="no") i=0; 
	if(Field=="name")     i=1;
	if(Field=="grade")      i=2;
    if(Field=="dept") i=3;
	if(Field=="sex")  i=4;
	
    return getField(i);

 
}
CString Cstudent:: getField( int i )
{ 
  switch(i){
  case 0: return no; break;
  case 1: return name; break;
  case 2: return grade; break;
  case 3: return  dept; break;
  case 4: return  sex; break;
 
  default: return "NULL";
           
}
}


Cobjectset * Cstudent::SearchByField( CString Field, CString Value )
{//按一个关键字查询,结果为一个记录集
	Cobjectset *q = NULL;
	Cstudent *p = (Cstudent*)getFirstRecord();
	while ( p != NULL ) {
		while ( p != NULL && p->getField( Field ) != Value ) {
			p = (Cstudent*)getNext();
		}
		if ( !p&&!q ) {
			return NULL;
		}
		else {
			  if ( !q ) 
			  {
				q = new Cobjectset();
			  }
			  if(p)
			  {
			    q->AddRecord( p );
			    p =(Cstudent*)getNext();
			  }
		}
	}
	return q;
}

Cstudent * Cstudent::SearchRecordByField(CString Field, CString Value )
{ //按一个关键字查询,结果为一条纪录
     Cstudent *p=(Cstudent*)getFirstRecord();
       while(p!=NULL&&p->getField( Field ) != Value )
	 {
	      p =(Cstudent*)getNext();
	 }
	      if(!p)   return NULL;
		  else 
			  return p;
	
		
}

Cstudent::DeletRecord(Cobjectset *rd){
	Cstudent *p=(Cstudent*)getFirstRecord();
	Cstudent*temp;
	temp=(Cstudent*)rd;
	CString Value;
	Value=temp->getField(1);
    while(p!=NULL&&p->getField(1) != Value )
	 {
	      p =(Cstudent*)getNext();
	 }
	      if(!p)   return NULL;
		  else 
		   elems.RemoveAt(idx,1);
	 
			  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -