Sistema de gestión de información del estudiante C ++

El sistema realiza la operación de la lista vinculada a través de la plantilla de diseño.Las funciones incluyen consultar información del estudiante, agregar y eliminar información del estudiante, y ordenar y enviar estudiantes de acuerdo con el número y grado del estudiante. Al comienzo del programa, la información del alumno se lee del archivo y se almacena en la lista vinculada. Después de eso, se realizan varias operaciones en la lista vinculada. Cuando se sale del programa, los datos de la lista vinculada se pueden guardar automáticamente en el archivo.

Todo el sistema incluye cuatro partes:

1. Clase de nodo

2. Lista vinculada

3. estudiantes

Función 4.main

La función principal incluye principalmente 3 partes:

1. Archivo de lectura y escritura

2. Operaciones en listas enlazadas

3. Selección de funciones

Primero mira la clase de nodo:

template<class T> 
class StuNode
{
public:
	StuNode();//初始化
	StuNode<T> *pre;//前一结点
	StuNode<T> *next;//后一结点
	T data;//数据
};

Lista vinculada

template<class T>
class StuList
{
private:
	StuNode<T> *head;//链表的头结点
	StuNode<T> *tail;//链表的尾结点
	int length;//链表的长度
public:
	StuList();//默认构造函数
	StuList(StuList &list1);//拷贝构造函数
	~StuList();//析构函数
	int size();//返回长度
	void add(T e);//添加结点
	StuNode<T> *get_head();
	StuNode<T> *get_tail();
	void show();//按序输出
	void remove(T index);//移除
	void find(T index);//查找
};

Los atributos del alumno se pueden definir en la clase del alumno. Además, algunos operadores deben sobrecargarse. Puede consultar

Implementación de funciones miembro de CString (sobrecarga de símbolos, memoria dinámica)

El archivo de lectura y escritura en la función principal puede hacer referencia a

C ++ STL y resumen de operación de procesamiento de archivos

Las funciones que operan en la lista vinculada son

save_file(list);//保存
add_info(list);//添加
search_info(list);//查询
delete_info(list);//删除
stu_num_out(list);//学号排序
score_out(list);//分数排序

La selección de operaciones funcionales puede usar esta estructura:

while(1)
{
    cin>>choice;
    switch(choice)
        {
            case  :    break;
            case  :    break;    
            case  :    break;

        }
}

Creo que hay tres puntos más importantes.

1. El contenido de una clase específica no puede aparecer en la clase de plantilla, la plantilla es la plantilla

2. Al operar en listas vinculadas, debe prestar atención para distinguir entre operaciones en datos reales u operaciones en copias de datos, de lo contrario g

3. Tenga en cuenta que la clase de nombre y otra información se pueden repetir, pero el número de estudiante debe ser único

 

 

125 artículos originales publicados · Me gusta 31 · Visitas 60,000+

Supongo que te gusta

Origin blog.csdn.net/Fiverya/article/details/97571394
Recomendado
Clasificación