Вообщем, ввожу данные 1-й даты и 2-й даты и пытаюсь найти разницу между ними в днях, решил для начала найти разницу в днях в месяцах и годах, месяцы и годы перевожу в дни и все суммирую, но кол-во месяцев не подсчитывает
#include
#include
using namespace std;
int main()
{
int year_user, mon_user, day_user;
int current_year, current_mon, current_day;
int num_days, num_mon=0, num_years;
int leap_year = 0, leap_like = 0;
int m, m1, i, j;
int M[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
cout<<"Введите год месяц и день вашего дня рождения(в формате ГГГГ М Д):"<>year_user>>mon_user>>day_user;
cout<<"Ваша дата рождения:"<>current_year>>current_mon>>current_day;
cout<<"Желаемая дата:"< if (mon_user >= current_mon)
{
int m = mon_user;
int m1 = current_mon;
}
else
{
int m = current_mon;
int m1 = mon_user;
}
//рассчитываем количество лишних месяцев
for(i=m; icout<<"Количество дней между месяцами:"<//рассчитываем количество лет между датами и проверяем высокосный ли он
for(j=year_user; j }
else
{
num_years += 365;
}
}
cout<<"Количество дней между годами:"<
Ответ
Я бы не мучил эти дни, месяцы и годы... Есть такое хорошее понятие как юлианская дата с хорошо разработанным алгоритмом расчета, и ваша задача - просто вычисление разности двух таких дат.
Если вы не планируете работать с датами до введения григорианского календаря и учитывать введение в России григорианского в 1918 году :), то вам достаточно запрограммировать это:
Как видите, даже ни одного условного перехода :)
Комментариев нет:
Отправить комментарий