Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Подсчитать разницу в днях между 2 датами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Построение и сортировка списка http://www.cyberforum.ru/cpp-beginners/thread388815.html
Здравствуйте! Прошу помочь разобраться со списками в C++, а в особенности с классом списков list. Задание было такое: В элементе списка содержатся данные о ноутбуке: ○ наименование; ○ цена;...
C++ Строки в С++ Дано натуральное число n. Получить символьное представление n в виде последовательности цифр и пробелов отделяющих группы по три цифры, начиная справа. Например, если n=1753967, то должно получиться... http://www.cyberforum.ru/cpp-beginners/thread388807.html
C++ Определение количества цифр в целом числе
Помогите плиз) Вот вариант что нужно сделать! написать подпрограмму-функцию определения кол-во цифр в целом числе n(если после деления k раз числа n на 10 в целой части числа будет ноль, то...
C++ матрицы
помогите решить не могу понять как это сделать и условие не понимаю. m = {{ 16, 78, 0, 6, -29, 19, -52, 65, -88, 51}, { -79, -22, 32, -25, -62, -69, -2, -59, -75, 89}, ...
C++ Не получается изменить шрифт в находящийся в RichEdit http://www.cyberforum.ru/cpp-beginners/thread388770.html
Накидал текстовый редактор. Не получается изменить шрифт в находящийся в RichEdite на дочерней форме(в Action не появляется обрабочик) а так же не получается отправлять файл на печать(как я понел...
C++ Помогите с задачкой Написать программу , которая в выходной файл выводит строки , содержащие во входном файле указанную подстроку. В файле дан список слов , упорядочить их по алфавиту . Увы я еще не могу осуществить... подробнее

Показать сообщение отдельно
hepr
61 / 33 / 5
Регистрация: 21.10.2010
Сообщений: 539

Подсчитать разницу в днях между 2 датами - C++

21.11.2011, 21:30. Просмотров 4228. Ответов 2
Метки (Все метки)

Здравствуйте, нужно подсчитать сколько дней между определенными датами(1 января 2001 и 31 декабря 2020)
У меня есть код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
 
using namespace std;
 
int main()
{
    //С учетом весокосных годов получаем что разница между датами 20*365 + 4 = 7304 дня
    int allDays = 0;
    for(int currentYear = 2001;currentYear<=2020;currentYear++)
    {
        //Проходим месяцы
        for(int currentMonth = 1;currentMonth<=12;currentMonth++)
        {
            //Проходим дни
            int daysInThisMonth;
            if(currentMonth%2==0)
                daysInThisMonth = 30;
            else
                daysInThisMonth = 31;
            //Если февраль
            if(currentMonth == 2)
                if(currentYear%4==0) //Про остальные правила вычисления можно забыть тк они не срабатывают
                    daysInThisMonth = 29;
                else
                    daysInThisMonth = 28;
            for(int days = 1;days<=daysInThisMonth;days++)
            {
                allDays++;
            }
        }
    }
    cout << allDays;
    system("pause");
    return 0;
}
Но вместо 7304 он выводит 7285, не подскажите в чем ошибка
Заранее спасибо!

Добавлено через 5 минут
Получилось что в каждом году не считает какой-то 1 день

Добавлено через 33 секунды
Конечно можно тупо прибавить, но не подскажите в чем же все-таки неточность алгоритма
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru