#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
void addDays(int &day, int &month, int &year, int days)
{
int daysInMonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int daysInMonthLeap[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int daysInMonthTotal[12];
int daysInMonthTotalLeap[12];
int daysInYear = 0;
int daysInYearLeap = 0;
int daysInYearTotal = 0;
int daysInYearTotalLeap = 0;
int i;
for (i = 0; i < 12; i++)
{
daysInMonthTotal[i] = daysInMonth[i];
daysInMonthTotalLeap[i] = daysInMonthLeap[i];
}
if (year % 4 == 0)
{
for (i = 0; i < 12; i++)
{
daysInMonthTotal[i] = daysInMonthLeap[i];
daysInMonthTotalLeap[i] = daysInMonthLeap[i];
}
}
for (i = 0; i < 12; i++)
{
daysInYear += daysInMonthTotal[i];
daysInYearLeap += daysInMonthTotalLeap[i];
}
daysInYearTotal = daysInYear + daysInYearLeap;
daysInYearTotalLeap = daysInYearLeap + daysInYearLeap;
if (daysInYearTotal + days > 365)
{
days = days - (daysInYearTotal + days - 365);
year++;
}
if (daysInYearTotalLeap + days > 366)
{
days = days - (daysInYearTotalLeap + days - 366);
year++;
}
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
if (day + days > 31)
{
days = days - (day + days - 31);
month++;
}
}
else if (month == 4 || month == 6 || month == 9 || month == 11)
{
if (day + days > 30)
{
days = days - (day + days - 30);
month++;
}
}
else if (month == 2)
{
if (year % 4 == 0)
{
if (day + days > 29)
{
days = days - (day + days - 29);
month++;
}
}
else
{
if (day + days > 28)
{
days = days - (day + days - 28);
month++;
}
}
}
day += days;
}
void printDate(int day, int month, int year)
{
cout << day << "/" << month << "/" << year << endl;
}
void testAddDays()
{
int day = 0;
int month = 0;
int year = 0;
int days = 0;
cout << "Enter a date in the format of dd/mm/yyyy: ";
cin >> day >> month >> year;
cout << "Enter the number of days to add: ";
cin >> days;
addDays(day, month, year, days);
printDate(day, month, year);
}