Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 29.09.2011
Сообщений: 20

Иерархия классов

09.01.2013, 21:50. Показов 1700. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер.
Такое задание.
Реализовать иерархию понятий "Студент" , "Группа" , "Факультет" . Группу представить совокупностью студентов , а факультет - набором групп. Решить задачи расчета средней успеваемости по факультету в целом и отдельно по группам , а так жэ задачу перевода указанного списка студентов , каждый элемент списка содержит ФИО студента , название прежней и название новой группы.

Класс "Студент" я вроде бы создал , а вот как реализовать иерархию и группу представить совокупностью студентов , а факультет набором групп , вот тут и возник вопрос , как это сделать? Может кто подскажет , или у кого есть пример хороший , с наследованием как бы разобрался , а тут "совокупность" и "набор групп".
Кликните здесь для просмотра всего текста
.h файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "stud.h"
 
   Stud::Stud()
    : FIO(), group(0), zachetka(0) ,mark1(0),mark2(0) ,Male_Felame()
{
 
}
 
std::ostream& operator<< (std::ostream& os, const Stud& studd) // вводим , выводим
{
   os <<studd.FIO << studd.group << studd.predmet1  <<studd.mark1  <<studd.predmet2 <<studd.mark2 << studd.Male_Felame << studd.zachetka ;
   return os;
}
 
std::istream& operator>> (std::istream& is, Stud& studd)
{
   is >> studd.FIO >> studd.group >> studd.predmet1 >> studd.predmet2>> studd.zachetka >> studd.Male_Felame;;
   return is;
}
 
//  
Stud::~Stud()
{
 
}
 
Stud::Stud(const Stud& copy)
    :FIO(copy.FIO), group(copy.group),predmet1(copy.predmet1),zachetka(copy.zachetka),predmet2(copy.predmet2)
{
 
}
Stud& Stud::operator=(const Stud& equals)
{
    group=equals.group;
    predmet1=equals.predmet1;
    predmet2=equals.predmet2;
    FIO=equals.FIO;
    zachetka=equals.zachetka;
    mark1=equals.mark1;
    mark2=equals.mark2;
    group=equals.group;
 
    return *this;
}

Кликните здесь для просмотра всего текста
.срр файл
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef stud_h
#define stud_h
#include <iostream>
#include <string>
using namespace std;
class Stud
{
public:
Stud();
~Stud(); // деструктор
Stud(const Stud& copy);
Stud& operator=(const Stud& equals);
unsigned get_mark1();
unsigned get_mark2();
unsigned change_group();
bool progress();    
   friend std::ostream& operator<< (std::ostream& os, const Stud& studd);
   friend std::istream& operator>> (std::istream& is, Stud& studd);
private:
   string   FIO;
   unsigned group;
   unsigned zachetka;
   unsigned mark1;
   unsigned mark2;
   string   Male_Felame;
   string   predmet1;
   string   predmet2;
};
 
функции...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.01.2013, 21:50
Ответы с готовыми решениями:

Иерархия классов
Порядок выполнения работы. 1. Создать проект, который содержит консольную программу Win32. 2. Определить иерархию классов (в...

Иерархия классов
Доброго времени суток, форумчане! Имеется полиморфный класс окна SubWindow class SubWindow { public: SubWindow(); ...

Иерархия классов
Доброво времини суток! Нужна помощ, я не могу понять что я делаю не так в конструкторе с парамитрами производного класса. #include...

1
What a waste!
 Аватар для gray_fox
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
09.01.2013, 22:48
Цитата Сообщение от kvartira Посмотреть сообщение
как реализовать иерархию и группу представить совокупностью студентов
Хранить в классе "группа" коллекцию студентов. Примерно:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <vector>
 
#include "stud.h"
 
 
class Group {
 
public:
   void addStudent(Stud const& student) {
      students.push_back(student);
   }
 
   double averageProgress() const {
       // Считаешь среднюю успеваемость
   }
 
   // Остальные методы...
 
 
private:
   std::vector<Stud> students;   // Студенты в группе
};
Аналогично в классе "факультет" хранить коллекцию групп.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.01.2013, 22:48
Помогаю со студенческими работами здесь

Иерархия классов С++
В общем, программа построена правильно(в приложениях фото задания). Но проблема в том, что &quot;х&quot; - это закрытый член класса и он...

Иерархия классов
Пожалуйста помогите написать программу: Иерархия классов: служащий, персона, рабочий, инженер; Вариант запроса: количество служащих со...

Иерархия классов
Помогите, пожалуйста, надо создать иерархию классов: класс строка -&gt; класс строка-идентификатор -&gt; битовая строка отдельные объекты...

Иерархия классов ....
Добрый вечер Всем !!! ))) У меня возникли некоторые трудности с написанием программы, имеющей следующие особенности: 1) Определить...

Иерархия классов
Доброе время суток! есть иерархия классов: #include &lt;iostream&gt; class date { int day; public: data(int day0){ day =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru