Сортировка линейного списка. Формирование линейного списка для группы студентов, содержащего информацию: номер группы, ФИО студента и средний балл за сессию

Страницы работы

Содержание работы

кафедра 304

Лабораторная работа № 3

по предмету «Программное обеспечение вычислительных систем»

Выполнила студентка 325 гр.

Старцева А. В.

Проверил  ст. преподаватель каф 304

Подоляка А. Н.

______________________

Сортировка линейного списка

11  Вариант

Сформировать линейный список для группы студентов, содержащий информацию:
1) номер группы, 2) Ф.И.О. студента, 3) средний балл за сессию.

Реализация программы:
Students.h

#pragma once

#include "string"

#include <iomanip>

using namespace std;

class Students

{

       private:

             int namber_groop; // номер группы

             string name; //Ф.И.О. студента

             double ball; //средний балл за сессию

public:

       Students(int s_namber_groop = 0, string s_name = " ", double s_ball = 0.0);

       ~Students(void);

       void set_name(string the_name);

       void set_namber_groop(int the_namber_groop);

       // получить имя

       string get_name(void);

       int get_namber_groop(void);

       void set_ball(int students_ball);

       double get_ball(void);

       void ReBuild(int s_namber_groop, string s_name , double s_ball );

       friend ostream& operator<<(ostream& out, const Students& students)

       {

             out << students.namber_groop << " группа,"<<endl;

             out << students.name << " "<<endl;

             out << students.ball << " средний бал "<<endl;

             return out;

       };

};

Students.cpp

#include "stdafx.h"

#include "Students.h"

Students::Students( int s_namber_groop,

                             string s_name,

                             double s_ball)

{

       namber_groop = s_namber_groop;

    name = s_name;

       ball = s_ball;

}

Students::~Students(void)

{

}

// установить название

void Students::set_namber_groop(int students_namber_groop)

{

       namber_groop = students_namber_groop;

}

void Students::set_name(string students_name)

{

       name = students_name;

}

void Students::set_ball(int students_ball)

{

       ball = students_ball;

}

// получить имя

string Students::get_name(void)

{

       return name;

}

int Students::get_namber_groop(void)

{

       return namber_groop;

}

double Students::get_ball(void)

{

       return ball;

}

void Students::ReBuild( int s_namber_groop,

                             string s_name,

                             double s_ball)

{

       namber_groop = s_namber_groop;

    name = s_name;

       ball = s_ball;

}

LNode.h

#pragma once

#include "Students.h"

class LNode

{

private:

       Students inform;

       LNode* prev;

       LNode* next;

public:

       LNode(void);

       LNode(Students n_inform, LNode* n_prev, LNode* n_next);

       void SetNext(LNode* node);

       void SetPrev(LNode* node);

       LNode* GetNext();

       LNode* GetPrev();

       Students& GetInform();

       ~LNode(void);

};

LNode.cpp

#include "stdafx.h"

#include "LNode.h"

LNode::LNode(void)

{

}

LNode::LNode(Students n_inform, LNode* n_prev, LNode* n_next)

{

       inform = n_inform;

       prev = n_prev;

       next = n_next;

}

void LNode::SetNext(LNode* node)

{

       next = node;

}

void LNode::SetPrev(LNode* node)

{

       prev = node;

}

LNode* LNode::GetNext()

{

       return next;

}

LNode* LNode::GetPrev()

{

       return prev;

}

Students& LNode::GetInform()

{

       return inform;

}

LNode::~LNode(void)

{

}

LineList.h

#pragma once

#include "LNode.h"

class LineList

{

public:

private:

       LNode* head;

       LNode* tail;

       unsigned int size;

       LNode* GetPrevIndex(unsigned int index);

public:

       LineList(void);

       void Add(Students n_inform);

       void AddAt(Students n_inform, unsigned int index);

       unsigned int Size();

       Students& GetAtIndex(unsigned int index);

       ~LineList(void);

Похожие материалы

Информация о работе