Основи програмування на С ++ для початківців

Задача. Обчислити кількість днів між датами.

завдання просте: Знайти кількість днів між двома датами. Передбачити облік високосних років.

Для практики пропонується два варіанти:

  1. Одна з граничних дат описується тільки роком. Тобто початкова дата вводиться повністю (например 25.12.2015), а друга тільки рік (например 2016). Проводиться підрахунок днів до 01.01.2016
  2. Обидві дати повні – описуються днем ​​місяцем роком.

Наведу свій приклад, частково вирішальний перший спрощений варіант:

тут функція DaysCount() приймає в перших трьох параметрах початкову дату (рік, місяць, день) і останнім параметром граничну (рік, 1-й день січня)

Вирішувати можна будь-яким способом, хоч циклом хоч чимось ще. А ось рішення по другому варіанту не покажу :) Нехай воно буде домашнім завданням. хай щастить!

Питання задавайте в коментарях

40 думки про "Задача. Обчислити кількість днів між датами.

  1. допоможіть будь ласка написати програму

    Визначити скільки днів в році (всього 12 місяців, в кожному є певна кількість днів) використовуючи функцію for і одновимірний масив

  2. [код]#include “stdafx.h”
    #include
    using namespace std;
    int main()
    {
    ІНТ monthM[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
    char ch;
    ІНТ кінець, день, місяць, рік, сума = 0;
    setlocale(LC_ALL, “rus”);
    cout <> день >> ч >> місяць >> ч >> рік;
    cout<> end;

    for (INT I = місяць + 1;i <= 11;i ) сума + = monthM[i];
    сума + = monthM[місяць]+день + (end – рік) * 365;
    for (INT I = рік + 1; i < end; i )
    if (i % 400 == 0 || i % 4 == 0) підсумувати ++;//в вікіпедії написано, що в Григоріанському календарі високосний рік кожен 4й + кожен 400й
    if ((рік % 400 == 0 || рік % 4 == 0) && місяць < 4) підсумувати ++; //початковий рік перевіряю окремо, т.к. навіть якщо він високосний, ми можемо не зачепити 29февраля в період
    cout << "\nВ этом промежутке " << sum << "дней!";
    return 0;
    }
    [/код]

  3. 2 – Фрагменти рекламних блоків – 12.06.2003
    Відео з четверга, 12 Червень 2003 R.

    1. 2 – Фрагмент рекламного блоку – 20.11.2000
      Записано в понеділок, 20 Листопад 2000 R.

      1. 1 – Два рекламні блоки та оголошення, ідентич – 20.07.2010
        Записано у вівторок, 20 Липень 2010 R.

      2. Два рекламні блоки та оголошення, соціальне оголошення та спот, audiotele – 24.09.2008
        Записано в середу, 24 Вересень 2008 R.

    2. 2 – Фрагменти рекламних блоків – 24.04.2013
      Записано в середу, 24 Квітень 2013 R.

    3. 1 – Фрагменти рекламних блоків – 27.01.2012
      Записано в п’ятницю, 27 Січня 2012 R.

    4. 1 – Фрагменти рекламних блоків – 28.09.2014
      Записано в неділю, 28 Вересень 2014 R.

    5. 2 – Два рекламні блоки та оголошення, соціальне оголошення та спот, audiotele – 24.04.2012
      Записано у вівторок, 24 Квітень 2012 R.

    6. Два рекламні блоки та оголошення, соціальне оголошення та спот, audiotele – 27.11.2009
      Записано в п’ятницю, 27 Листопад 2009 R.

    7. 2 – Фрагменти рекламних блоків – 24.10.2011
      Записано в понеділок, 24 Жовтень 2011 R.

      1. Новини (Россия, 20.11.2008)

    8. 1 – Два рекламні блоки та оголошення, ідентич – 24.12.2000
      Записано в неділю, 24 грудня 2000 R.

  4. Програма тв з 10 по 16 жовтня 2011 г. Г. Кокшетау, Казахстан
    Воскресенье, 16 жовтня 2011 г.
    Казахстан
    повідомлення
    Перший канал Євразія
    Ель-Арна
    Астана
    Казахстан-Кокшетау
    КВН
    NTK
    7 канал
    Оригінальний канал

  5. ТВ-Програма на тиждень 29.05.2011, проти
    Казахстан
    повідомлення
    Ель-Арна
    Перший канал Євразія
    КВН
    NTK
    31 канал
    Перший канал
    Россия 1
    НТВ
    REN-TV

  6. Програма ТБ з 21 по 27 березня 2011 г. Г. Кокшетау, Казахстан
    Четверг, 24 березня 2011 г.
    Казахстан
    повідомлення
    Перший канал Євразія
    Ель-Арна
    Астана
    Казахстан-Кокшетау
    КВН
    NTK
    31 канал
    7 канал
    STV
    Хіт ТБ
    Оригінальний канал

  7. ТВ-Програма казахстанська правда на тиждень 10.02.2012, пт
    Казахстан
    повідомлення
    Ель-Арна
    Курка

залишити коментар

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *