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

Реализовать базовый класс "Футбольная команда" и класс-наследник с методами консольного ввода/вывода

01.01.2016, 21:25. Показов 4462. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу на языке С++, в которой описывается класс (с добавлением наследуемого подкласса) с методами ввода с клавиатуры и вывода на экран монитора всех данных класса в табличной форме.
Футбольные команды.
Кто-нибудь поможет с программкой буду очень благодарен.

Добавлено через 4 часа 11 минут


Добавлено через 2 часа 19 минут
Очень нужно
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.01.2016, 21:25
Ответы с готовыми решениями:

Реализовать базовый класс Человек и класс-наследник Студент
Создать базовый класс Человек. Каждый объект этого класса должен содержать ФИО, год рождения и пол. Необходимые функции: ввод-вывод...

Реализовать базовый класс , объекты которого могут создавать свои копии, и класс-наследник для базового класса
В обучающей системе есть задание, которое сама же система и проверяет. По заданию необходимо реализовать базовый класс (структуру),...

Абстрактный класс CGraphicsObject, его наследник - базовый класс CPoint, и класс - наследник от CPoint
Всем доброй ночи! Очень нужна помощь и по мере возможности разъяснения на темы: абстрактный класс в задании(что он из себя представляет и...

24
6 / 6 / 1
Регистрация: 27.12.2014
Сообщений: 67
01.01.2016, 22:30
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class FTeam
{
// ...
public:
   FTeam();
// ...
};
 
class FTeamCh: public FTeam
{
// ...
public:
   FTeamCh();
// ...
};
А вообще, лучше бы конкретно написал что ты уже сделал и что у тебя не получается. А так какие-то одни абстракции.
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 12
02.01.2016, 12:50  [ТС]
Kirik516, Пробую разобраться с классами не дружу совсем ((
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 12
03.01.2016, 19:16  [ТС]
Люди может кто посоветует идею что можно забобахать в класс футбольные команды?

Добавлено через 1 минуту
Имею ввиду что вообще с этим классом можно сделать ?
0
6 / 6 / 1
Регистрация: 27.12.2014
Сообщений: 67
03.01.2016, 19:17
Цитата Сообщение от Павел_ТПР Посмотреть сообщение
Люди может кто посоветует идею что можно забобахать в класс футбольные команды?
Число бойцов, их имена, статистика побед-поражений, имя тренера и его зарпата.
Цитата Сообщение от Павел_ТПР Посмотреть сообщение
Имею ввиду что вообще с этим классом можно сделать ?
Назначить тренера, назначить ему зарплату, назначить коллектив, расформировать команду.
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 12
03.01.2016, 19:28  [ТС]
А не сможете помочь или хотя бы намекнуть как бы это реализовать?
0
 Аватар для Ника))
43 / 43 / 20
Регистрация: 08.12.2010
Сообщений: 342
03.01.2016, 19:38
Тебе же уже намекнули. Просто найди как строиться класс в c++.
Ну а, если совсем ни как, то вот пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class ComandF
{
    char * trener=new char[128];
 
ComandF
{
    sprinf_s(trener,128,"%s","Василий");
}
~ComandF()
{
delete[] trener;
}
 
}Prototip_class_ComandF;
Jобращение к классу:
Prototip_class_ComandF.trener;
А теперь открой инет и посмотри про наследование и сделай что нибудь...
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 12
03.01.2016, 19:51  [ТС]
Хорошо сейчас попробую по колдую если что не получится выложу
0
6 / 6 / 1
Регистрация: 27.12.2014
Сообщений: 67
03.01.2016, 19:56
Цитата Сообщение от Ника)) Посмотреть сообщение
class ComandF
Бее... Надо было писать не Comand, а Team. Но с другой стороны показана альтернативность.
0
 Аватар для Ника))
43 / 43 / 20
Регистрация: 08.12.2010
Сообщений: 342
03.01.2016, 20:12
На примерах я всегда пишу транслитом, многим это более понятно
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 12
03.01.2016, 20:30  [ТС]
Вот я тут подумал хочу сделать просто класс где будет описываться данные команды ( название, лига, тренер, победы и поражения) и когда пользователь введет название команды программа ему выдаст все данные о команде.

Подскажите вот код пишу по книгам, (я начинающий так что сильно не критикуйте) как я на верном пути можно ли так это реалезовать?

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
class FTeam                             // Класс футбольная команда
{
    char Team [35]                      // Название команды
    char League [15]                    // Лига в которой играет команда
    char Trainer [40]                   // Тренер
    char Victory [20]                   // Победы команды
    char Defeat [20]                    // поражения команды
public: 
   FTeam();
   void Show();                         //функция будет отображать данные команды
   void Input();                        //функция ввода данных 
 
};
 
void Student::Input() 
{
    cout<<"\n\n";
    cout<<"Êîìàíäà\t\t";
    cin.getline(Team,35);              //считали команду  
    
}
 
void Student::Show()                   //функция показывает данные на экране
{
    cout<<Team<<League<<Trainer<<Victory<<Defeat
}
Это пока набросок!
0
6 / 6 / 1
Регистрация: 27.12.2014
Сообщений: 67
03.01.2016, 20:42
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class FTeam                             // Класс футбольная команда
{
    char Team [35]                      // Название команды
    char League [15]                    // Лига в которой играет команда
    char Trainer [40]                   // Тренер
    char Victory [20]                   // Победы команды
    char Defeat [20]                    // поражения команды
public: 
   FTeam();
   void Show();                         //функция будет отображать данные команды
   void Input();                        //функция ввода данных 
 
};
Лучше объявлять не статические массивы чаров, а указатели на них. Или вообще воспользоваться стандартным классом std::string, тогда попроще будет.

Ну пока все нормально.
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 12
03.01.2016, 20:53  [ТС]
Kirik516,
Цитата Сообщение от Kirik516 Посмотреть сообщение
Лучше объявлять не статические массивы чаров, а указатели на них.
Это как?
И еще такой вопрос мне в Input нужно все данные положить какие я указал?
0
6 / 6 / 1
Регистрация: 27.12.2014
Сообщений: 67
03.01.2016, 21:05
Цитата Сообщение от Павел_ТПР Посмотреть сообщение
Это как?
Как-то так:
C++
1
char *trener;
Цитата Сообщение от Павел_ТПР Посмотреть сообщение
И еще такой вопрос мне в Input нужно все данные положить какие я указал?
Это по твоему желанию. Как тебе больше нравится, так и можешь делать.
Также у тебя есть конструктор FTeam();. Он вызывается при создании объекта.
В нем ты можешь задать значение твоих членов по умолчанию и выделить память для своих массивов.

Или сделать его параметризованным и отдавать ему какие-то значение при инициализации.
C++
1
2
3
4
5
FTeam(char &tren, char &team)
{
   this->tren = tren;
   this->team = team; // надеюсь, это понятно
}
Правда я не уверен, что такая реализация будет корректно работать. Надо просто поэкспериментировать со строками. Там не должно быть ничего трудного.
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 12
03.01.2016, 21:29  [ТС]
Kirik516, Что то я запутался не много если я хочу вбить в программу данные команды (ну например их будет 8) это мне как можно сделать? С помощью Input я правильно понял? Или вообще проще проще убрать input и вставлять в FTeam();?
0
6 / 6 / 1
Регистрация: 27.12.2014
Сообщений: 67
03.01.2016, 21:49
Цитата Сообщение от Павел_ТПР Посмотреть сообщение
Kirik516, Что то я запутался не много если я хочу вбить в программу данные команды (ну например их будет 8) это мне как можно сделать? С помощью Input я правильно понял? Или вообще проще проще убрать input и вставлять в FTeam();?
В теории ты можешь это реализовать где твоей душе угодно. Никаких ограничений в этом плане нет. Но считается, что в конструкторе нужно только задать начальное состояние объекта. А вот ввод данных лучше сделать в отдельном методе, например, как у тебя в Input. Точнее это не просто ввод, а ввод с клавиатуры. Вообще есть более совершенные средства ввода, но на первое время достаточно того, что делаешь ты.
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 12
03.01.2016, 21:57  [ТС]
Kirik516, фухххх скоро сдавать а у меня код нихрена не готов...
про Input я понял это нужно будет если я буду вводить что -то с клавы. Но как мне сделать что бы программа уже содержала информацию о команде? А пользователь вызвав эту команду получил инфу о ней?
0
6 / 6 / 1
Регистрация: 27.12.2014
Сообщений: 67
03.01.2016, 22:12
Цитата Сообщение от Павел_ТПР Посмотреть сообщение
Но как мне сделать что бы программа уже содержала информацию о команде?
Ты можешь курами по-умолчанию забить данные в конструкторе. Аля.
C++
1
tren = "Misha"; // здесь я тоже не очень уверен
Можешь сделать конструктор с параметрами и инициализировать свой объект при создании.
Можешь сделать отдельный метод, который принимает параметры и вставляет их в твои члены.
Можешь сделать для каждого члена "сетер", которые берет параметр и забивает его значение в член.
Как-то так, я думаю.
0
0 / 0 / 0
Регистрация: 01.01.2016
Сообщений: 12
04.01.2016, 10:33  [ТС]
Мда что-то нне очень у меня получается
0
 Аватар для egor2116
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
04.01.2016, 11:48
Кто-нибудь поможет с программкой
Наверное можно как то так
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include <iostream>
#include <string>
#include <vector>
 
namespace cf{
    
    struct Player{
            std::string m_name;
            size_t m_bDay;
            Player(std::string name = std::string(), size_t bDay = 0) : 
                            m_name(name), m_bDay(bDay){}
            Player(const Player & p){
                m_name = p.m_name;
                m_bDay = p.m_bDay;
            }
            Player & operator=(const Player & p){
                m_name = p.m_name;
                m_bDay = p.m_bDay;
            }
    };
    
    class Out{
        public:
            virtual void print() const = 0;
            virtual ~Out(){}
    };
    
    class FTeam : public Out{
        private:
            std::vector<Player> team;
            std::string liga;
            std::string name;
            Player trainer;
            size_t wins;
            size_t defeat;
        public:
                FTeam() : trainer(), name(std::string()), liga(std::string()), wins(0), defeat(0){}
                void add(Player p){
                    team.push_back(p);
                }
                FTeam(Player t, std::string n, std::string l, size_t w = 0, size_t d = 0) : trainer(t), 
                            name(n), liga(l), wins(w), defeat(d){}
                FTeam(const FTeam & ft){
                    
                }
                virtual void print() const{
                    std::cout << "Team : " << name << std::endl;
                    std::cout << "Liga : " << liga << std::endl;
                    std::cout << "Trainer : " << trainer.m_name << std::endl;
                    for(size_t i = 0; i < team.size(); ++i){
                        std::cout << team[i].m_name << " " << team[i].m_bDay << std::endl;
                    }
                    std::cout << "----------------------------------------------------"  << std::endl;
                }
                void setTrainer(Player p){
                    trainer = p;
                }
                const Player & getTrainer() const{
                    return trainer;
                }
                void setLiga(std::string s){
                    liga = s;
                }
                const std::string & getLiga() const{
                    return liga;
                }
                void setNameTeam(std::string s){
                    name = s;
                }
                const std::string & getNameTeam() const{
                    return name;
                }
                void addWin(){
                    ++wins;
                }
                size_t getWins() const{
                    return wins;
                }
                void resetWins(){
                    wins = 0;
                }
                void addDefeat(){
                    ++defeat;
                }
                size_t getDefeat() const{
                    return defeat;
                }
                void resetDefeat(){
                    defeat = 0;
                }
                virtual ~FTeam(){}
    };
    
    class FTeamManager : public Out{
        private:
                std::vector<FTeam *> teams;
        public:
                void add(FTeam * ft){
                    teams.push_back(ft);
                }
                virtual void print() const{
                    for(size_t i = 0; i < teams.size(); ++i){
                        teams[i]->print();
                    }
                }
                virtual ~FTeamManager(){}
    };
}
 
int main(){
    
    cf::FTeamManager ftm;
    
    cf::FTeam ft1(cf::Player(std::string("treiner 1"), 1969), std::string("team A"), std::string("liga A"));
    cf::FTeam ft2(cf::Player(std::string("treiner 2"), 1969), std::string("team B"), std::string("liga A"));
    cf::FTeam ft3(cf::Player(std::string("treiner 3"), 1969), std::string("team C"), std::string("liga A"));
    
    ft1.add(cf::Player(std::string("Name 1"), 1985));
    ft1.add(cf::Player(std::string("Name 2"), 1986));
    ft1.add(cf::Player(std::string("Name 3"), 1987));
    
    ft2.add(cf::Player(std::string("Name 11"), 1985));
    ft2.add(cf::Player(std::string("Name 22"), 1986));
    ft2.add(cf::Player(std::string("Name 33"), 1987));
    
    ft3.add(cf::Player(std::string("Name 111"), 1985));
    ft3.add(cf::Player(std::string("Name 222"), 1986));
    ft3.add(cf::Player(std::string("Name 333"), 1987));
    
    ftm.add(&ft1);
    ftm.add(&ft2);
    ftm.add(&ft3);
    
    ftm.print();
    
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.01.2016, 11:48
Помогаю со студенческими работами здесь

Создать базовый класс прямоугольник и класс-наследник квадрат
Создать базовый класс прямоугольник со свойствами ширина, длина, конструктором с параметрами и методом (метод должен быть виртуальный),...

Создать классовую модель, включающую абстрактный класс CGraphicsObject, его наследник – базовый класс CPoint,
Создать классовую модель, включающую абстрактный класс CGraphicsObject, его наследник – базовый класс CPoint, и класс-наследник от...

Базовый класс Строка и класс-наследник Комплексное_число
аследование в С#. вообще не понимаю как делать.пожалуйста,выручайте Описать базовый класс Строка. Обязательные поля класса: •...

Построить базовый класс с указанными полями и методами и класс-потомок который содержит дополнительное поле
Задание 3: построить класс 1-го уровня с указанными полями и методами: - конструктор; - функция, которая определяет «качество»...

Создать класс «параллелограмм» с соответствующими данными класса и методами для ввода-вывода
Класс «параллелограмм» с соответствующими данными класса и методами для ввода-вывода данных, описывающих фигуру и координатной плоскости....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru