Страницы

Поиск по вопросам

понедельник, 18 февраля 2019 г.

Разница между датами в днях

Вообщем, ввожу данные 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 году :), то вам достаточно запрограммировать это:
Как видите, даже ни одного условного перехода :)

Комментариев нет:

Отправить комментарий