Задача простая: Найти количество дней между двумя датами. Предусмотреть учет високосных лет.
Для практики предлагается два варианта:
- Одна из граничных дат описывается только годом. То есть начальная дата вводится полностью (например 25.12.2015), а вторая только год (например 2016). Производится подсчет дней до 01.01.2016
 - Обе даты полные – описываются днем месяцем годом.
 
Приведу свой пример, частично решающий первый упрощенный вариант:
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  | #include <iostream> using namespace std; int DaysCount(int yearBegin, int monthBegin, int dayBegin, int yearCurrent){  int y, m, e, d, a, b, c, res = 0;  a = yearCurrent - yearBegin; // Разница в годах  b = a / 4; // Кол-во високосных  c = a - b; // Кол-во невысокосных  d = b * 366 + c * 365; // Предварительное кол-во дней до начала года  d -= (yearCurrent % 4) ? 1 : 0; // +1 день, если год високосный  // Считаем месяцы  for (e = 1; e < monthBegin; e++) {  // Если февраль и високосный:  if (e == 2) d -= (yearCurrent % 4) ? 28 : 29;   // Если по 30 дней  else if (e == 4 || e == 6 || e == 9 || e == 11) d -= 30;  else // Если по 31 день в месяце  d -= 31;  };  /* Для корректировки, если расчет идет от последнего месяца года  до задаваемого граничного года можно использовать примерно такое  условие, дабы не прибавлять, а вычитать количество дней  */  if (monthBegin != 12 && a == 1) return dayBegin + d;  else return d - dayBegin; } int main() {  cout << DaysCount(2015, 12, 15, 2016) << endl; }  | 
Здесь функция DaysCount() принимает в первых трех параметрах начальную дату (год, месяц, день) и последним параметром граничную (год, 1-й день января)
Решать можно любым способом, хоть циклом хоть чем-то еще. А вот решение по второму варианту не покажу :) Пусть оно будет домашним заданием. Удачи!
Вопросы задавайте в комментариях
ТВ-Программа арка ажары на неделю 19.10.2008, вс
Казахстан
Хабар
Первый канал Евразия
Ел-Арна
Астана
Казахстан-Кокшетау
КТК
НТК
31 канал
Рахат
Эра-ТВ
Асыл арна
В данном решении определение високосных годов некорректно. Если например года будут с 2003 по 2005-й, то получится, что високосных годов нет, хотя 2004-й високосный.