кафедра 304
Лабораторная работа № 3
по предмету «Программное обеспечение вычислительных систем»
Выполнила студентка 325 гр.
Старцева А. В.
Проверил ст. преподаватель каф 304
Подоляка А. Н.
______________________
Сортировка линейного списка
Сформировать линейный список для группы студентов,
содержащий информацию:
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);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.