C/C++

С++. Структуры(struct). Помогите написать программу

Объект – таблетированное лекарство в аптеке. Известны
наименование лекарства, количество таблеток в упаковке, вес одной
таблетки, дата выпуска, срок годности. Выдать список лекарств, срок
годности которых истекает на момент заданной даты.
Помогите написать программу с использованием структуры, пожалуйста.
#include <iostream>
#include <iomanip>
#include <string>
#include <list>
using namespace std;
struct Date {
int day;
int month;
int year;
Date() : day(1), month(1), year(2000) {}
Date(const int day, const int month, const int year) : day(day), month(month), year(year) {}
int years(const Date& date)const {
int term = date.year - year;
if (month < date.month) ++term;
else if (month == date.month && day < date.day) ++term;
return term;
}
friend ostream& operator<<(ostream& out, const Date& date) {
string acc = "";
if (date.day < 10) acc += "0";
acc += to_string(date.day) + ".";
if (date.month < 10) acc += "0";
acc += to_string(date.month) + ".";
acc += to_string(date.year);
return out << acc;
}
};
struct Drug {
int term;
Date date;
string name;
Drug() : term(0) {}
Drug(const int term, const Date& date, const string& name) : term(term), date(date), name(name) {}
friend ostream& operator<<(ostream& out, const Drug& drug) {
return out
<< left << setw(32) << drug.name << ' '
<< right << setw(12) << drug.date << ' '
<< setw(3) << drug.term;
}
};
int main() {
system("chcp 1251 > nul");
list<Drug> drugs{
{ 3, { 7, 11, 2019 }, "Пурген" },
{ 3, { 28, 8, 2018 }, "Аскофен" },
{ 3, { 23, 5, 2020 }, "Каптоприл" },
{ 4, { 1, 10, 2016 }, "Баралгин" },
{ 5, { 13, 9, 2016 }, "Аллохол" },
{ 5, { 24, 7, 2017 }, "Фурасол" },
};
puts("\t\tПолный список: \n");
for (const auto& drug : drugs) cout << drug << '\n';
puts("");
Date date{ 1, 12, 2021 };
puts("\tПоростроченные на 1 декабря 2021 г.: \n");
for (const auto& drug : drugs) {
if (drug.term < drug.date.years(date)) cout << drug << '\n';
}
system("pause > nul");
}
Антон Мохов
Антон Мохов
58 933
Лучший ответ
Миша Якоб Николай Веселуха, а вот вы написали программу. Эта программа реально может пригодиться в бизнес проектах? То есть такие программы могут использовать какие-нибудь компании?
Не зря ООП изучал