Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <windows.h>
- class Date {
- private:
- int day;
- int month;
- int year;
- public:
- Date(int day, int month, int year) : day(day), month(month), year(year) {}
- int operator-(const Date& other) {
- // Преобразуем обе даты в количество дней
- int thisDays = day + month * 30 + year * 365;
- int otherDays = other.day + other.month * 30 + other.year * 365;
- return thisDays - otherDays;
- }
- Date operator+(int days) {
- // Добавляем указанное количество дней к текущей дате
- int totalDays = day + month * 30 + year * 365;
- totalDays += days;
- // Преобразуем общее количество дней обратно в дату
- int newYear = totalDays / 365;
- int newMonth = (totalDays % 365) / 30;
- int newDay = (totalDays % 365) % 30;
- return Date(newDay, newMonth, newYear);
- }
- int getDay() {
- return day;
- }
- int getMonth() {
- return month;
- }
- int getYear() {
- return year;
- }
- };
- int main() {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- Date date1(1, 1, 2023);
- Date date2(31, 12, 2022);
- int diff = date1 - date2;
- std::cout << "Разница в днях: " << diff << std::endl;
- Date newDate = date1 + 10;
- std::cout << "Новая дата: " << newDate.getDay() << "." << newDate.getMonth() << "." << newDate.getYear() << std::endl;
- return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement