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

📄 link.h

📁 学生管理信息系统[VC]实现源代码。MIS
💻 H
字号:
#ifndef NODE_CLASS
#define NODE_CLASS

struct struct1       //学生信息结构体
{
	CString num;
	CString name;
	CString sex;
	int score[3];      //分别是语文、数学、外语成绩

};
//节点类声明部分
class Node : CObject
{
    DECLARE_SERIAL(Node)

public:
	Node* next; //指向后继节点的指针
	struct1 data;                 //数据域
	Node();
    Node(struct1* item,Node * ptrnext);   //构造函数
	void InsertAfter(Node *p);               //在本节点之后插入节点P
	Node * DeleteAfter(void);                  //删除本节点之后的后继节点,并且返回其地址
	Node * NextNode(void) const;               // 获取后继节点的地址
    int Sum(Node *p);

	void Serialize(CArchive& ar);

};

//链表类声明部分
class LinkedList
{
private:

	//数据成员;
	//表头和表尾指针;
	Node *front,*rear;
	//记录当前遍历位置的指针,由插入和删除操作更新
	Node *prevPtr,*currPtr,*nextPtr;
	//表中元素个数
	int size;
	//生成新节点,数据域为item,指针域为ptrNext
    Node *GetNode(struct1* item,Node *ptrNext);
    //释放节点
	//void FreeNode(Node *p);
public:
	CObArray obArray;
	//构造函数
	LinkedList(void);
	//析构函数
	~LinkedList(void);
   //在表尾添加一个数据域为item的节点
	void InsertRear(struct1* item);
	void Delete(CString NAME);    //删除指定的学生的信息
	Node* SearchByNo(CString NUM);     //按学号都学生信息进行检索
	Node* SearchByName(CString NAME);     //按姓名都学生信息进行检索
	int Paiming(Node* &nextPtr);            //排名
	float Average(int i);    //统计各科平均分
	float Passrate(int i);   //统计及格率
	int ListSize(void);
	int ListEmpty(void);
	Node * GetFront();
};
#endif
 

⌨️ 快捷键说明

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