C/C++

Создать метод который выводит все спектакли и дать их прохождения, которые состоятся в заданный день недели ООП

#include
#include
#include
#include
using namespace std;

class THEATRE
{
public:
void GetTheatre()
{
for (int i = 0; i < lenght; i++)
{
cout << vistava[i].GetInfo() << endl;
}
}
\\????
void GetVistvyDay(string days)
{
for (int i = 0; i < lenght; i++)
{
if()
cout << vistava[i].GetInfo() << endl;
}
\\????
}
private:
static const int lenght = 2;
class VISTAVA
{
private:
string Nazva;
struct DateStruct
{
int year{};
int month{};
int day{};
};
DateStruct dateStruct;
int Cost;
string Day_week;
public:
VISTAVA(string Nazva, DateStruct dateStruct, int Cost,string Day_week)
{
this->Nazva = Nazva;
this->dateStruct = dateStruct;
this->Cost = Cost;
this->Day_week = Day_week;
}
string GetInfo()
{
return "VISTAVA: Nazva= " + Nazva + "dateStruct= " + +"Cost= " + to_string(Cost) + "Day_week= " + Day_week;
}
};
VISTAVA vistava[lenght]
{
VISTAVA("Вистава капітошка", {2020,9,01}, 200, "Читверг"),
VISTAVA("Вистава капітошка", {2020,9,01}, 200, "Понеділок")
};
};

int main()
{
THEATRE[length];
SetConsoleCP(1251);
SetConsoleOutputCP(1251);

THEATRE theatre;
theatre.GetTheatre();

system("pause");
}
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
class Spectacle {
public:
using title_type = string;
using day_type = unsigned short;
using value_type = pair<title_type, day_type>;
explicit Spectacle(const value_type& value) : value_(value){}
bool isday(const day_type day)const {
return day == 0? true : value_.second == day;
}
string title()const {
return value_.first;
}
day_type day()const {
return value_.second;
}
private:
value_type value_;
friend bool operator<(const Spectacle& a, const Spectacle& b) {
return a.value_.second < b.value_.second;
}
};
class Poster {
public:
using value_type = Spectacle;
using container_type = vector<Spectacle>;
void add(const value_type& value) {
container_.push_back(value);
}
void add(value_type&& value) {
container_.emplace_back(value);
}
void sort() {
std::sort(container_.begin(), container_.end());
}
void show(const value_type::day_type day = 0) {
const char* days[] = { "",
"понедельник",
"вторник",
"среда",
"четверг",
"пятница",
"суббота",
"воскресенье"
};
for (const auto& item : container_) {
if (item.isday(day)) {
cout << item.title();
if (!day) cout << ", " << days[item.day()];
cout.put('\n');
}
}
}
private:
container_type container_;
};
Spectacle add() {
cout << "Введите название спектакля: ";
string title;
getline(cin, title);
Spectacle::day_type day;
do {
cout << "Введите порядковый номер дня недели: ";
cin >> day;
} while (!day || day > 7);
return Spectacle({ title, day });
}
int main() {
system("chcp 1251 > nul");
Poster poster;
poster.add(Spectacle({ "Дядя Ваня", 7 }));
poster.add(Spectacle({ "Чайка", 1 }));
poster.add(Spectacle({ "Горе от ума", 3 }));
poster.add(Spectacle({ "Вишнёвый сад", 1 }));
poster.add(Spectacle({ "Три сестры", 2 }));
poster.add(Spectacle({ "Мёртвые души", 5 }));
poster.add(Spectacle({ "Гроза", 3 }));
poster.add(Spectacle({ "Поживём - увидим", 2 }));
poster.add(Spectacle({ "Гамлет", 4 }));
poster.add(Spectacle({ "Бесы", 2 }));
poster.add(Spectacle({ "Бедные люди", 1 }));
poster.add(Spectacle({ "Бешеные деньги", 7 }));
poster.add(Spectacle({ "Свои люди - сочтёмся", 6 }));
auto spectacle = add();
poster.add(spectacle);
cout.put('\n');
poster.sort();
cout << "\tНа все дни: \n\n";
poster.show();
cout << "\n\tНа вторник: \n\n";
poster.show(2);
cout.put('\n');
system("pause > nul");
}
АК
Алексей Крючков
83 808
Лучший ответ
ты хотяб куданить на хост закинул бы =))) Если действительно рили хочешь чтобы тебе помогли))) И у меня вопрос, кто вас учит приват в самое дно засовывать? Многие так делают зачем то... Первоначальная мысль о классе - это структура... В книгах же все норм обычно приват первый, а уже потом только паблик...
МБ
Мурод Бобоев
10 755