• 大小: 145KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: 其他
  • 标签:

资源简介

学生会人员管理系统源代码···需要编译··

资源截图

代码片段和文件信息


#include
#include
typedef char str[20];
class Member
{
//数据域的学生会成员成员类
public:
Member()
{}
Member(str  positionstr name str sexstr gradestr classes)
{
  strcpy(_positionposition);
strcpy(_namename);
strcpy(_sexsex);
strcpy(_gradegrade);
strcpy(_classesclasses);
}//有参构造函数
    void setData(str  positionstr name str sexstr gradestr classes)
{
strcpy(_positionposition);
strcpy(_namename);
strcpy(_sexsex);
strcpy(_gradegrade);
strcpy(_classesclasses);
}
void print(void);//打印数据
str* getPosition() {return &_position;}//获取学生职务
str* getName() {return &_name;}//获取学生姓名
str* getSex() {return &_sex;}//获取学生性别
str* getGrade() {return &_grade;}//获取学生所在的年级
str* getClasses() {return &_classes;}//获取学生所在的班级
//操作符重载用来判断结点中数据是否相等,若相等则返回1,否则返回0
int operator==(Member& stu)const
{
  if(strcmp(_name*(stu.getName()))==0
   &&strcmp(_sex*(stu.getSex()))==0&&strcmp(_grade*(stu.getGrade()))==0
   &&strcmp(_classes*(stu.getClasses()))==0&&strcmp(_position*(stu.getPosition()))==0)
   return 1;
else
   return 0;
}
private: //学生会成员属性
str _position; //职位
str _name; //姓名
str _sex; //性别
str _grade; //年级
str _classes; //班级
}; 
void Member::print(void)//打印数据
{
cout<<‘(‘<<_position<<‘‘<<_name<<‘‘<<_sex<<‘‘<<_grade<<‘‘<<_classes<<“)\n“;

}
typedef class Node{
//树的孩子兄弟表示法的结点类
public:
Node(Member* data=NULL)
{_data=data;_firstChild=NULL;_brother=NULL;}//有参构造函数
~Node(){} //无参析构函数
Node* getFirstChild(){return _firstChild;}//访问结点的第一个孩子
Node* getBrother(){return _brother;}//访问结点的右兄弟
Member* getData(){return _data;}//取结点数据域的值
void setFirstChild(Node* node){_firstChild=node;} //为结点的第一个孩子赋值
void setBrother(Node* node){_brother=node;}//为结点的右兄弟赋值
void setData(Member* data){_data=data;}//为结点的数据域赋值
private:
Member* _data;//结点的数据域
Node* _firstChild;//结点的头孩子指针
Node* _brother;//结点的右兄弟指针
}*QElemType;
//把QElemType定义成 (结点类类型的指针Node*)
 void function(Node* p)
{
p->getData()->print();

}
/*****************************************************************************/
 #include 
 /*----------单链队列--队列的链式存储结构-------- */
 typedef struct QNode
 {
   QElemType data;
   struct QNode *next;
 }QNode*QueuePtr;

 typedef struct
 {
   QueuePtr frontrear; /* 队头、队尾指针 */
 }linkQueue;
 /*------------链队列的几个基本操作------*/
 int InitQueue(linkQueue &Q)
 { /* 构造一个空队列Q */
   Q.front=Q.rear=new QNode;
   if(!Q.front)
      exit(-2);
   Q.front->next=NULL;
   return 1;
 }
 int QueueEmpty(linkQueue Q)
 { /* 若Q为空队列则返回TRUE否则返回FALSE */
   if(Q.front==Q.rear)
     return 1;
   else
     return 0;
 }
 int EnQueue(linkQueue &QQElemType e)
 { /* 插入元素e为Q的新的队尾元素 */
  // QueuePtr p=(QueuePtr)malloc(sizeof(QNode));
 QueuePtr p=new QNode;
   if(!p) /* 存储分配失败 */
     exit(-2);
   p->data=e;
   p->next=NULL;
   Q.rear->next=p;
   Q.rear=p;
   return 1;
 }
 int DeQueue(linkQueue &QQElemType &e)
 { /* 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     271360  2008-06-29 20:09  课程设计.doc

     文件      15095  2009-06-22 19:01  代码.cpp

----------- ---------  ---------- -----  ----

               286455                    2


评论

共有 条评论

相关资源