Другие языки программирования и технологии

Помогите решить задание С++? Найти разницу в днях между двумя заданными датами???

#include <iostream>
#include <ctime>
using namespace std;
int main() {
    wcout.imbue(locale(".866"));
    int day, mon, year;
    wcout << L"\n Введите через пробел число месяц и год первой даты: ";    
    cin >> day >> mon >> year;
    tm btm = { 0, 0, 0, day, mon, year - 1900 };     
    wcout << L" Введите через пробел число месяц и год второй даты: ";
    cin >> day >> mon >> year;
    tm etm = { 0, 0, 0, day, mon, year - 1900 };
    time_t beg = mktime(&btm);
    time_t end = mktime(&etm);
    const time_t s_day = 24 * 60 * 60;
    unsigned days = 0;
    for (time_t current = beg; current < end; current += s_day) ++days;
    wcout << L" Разница между датами " << days << L" дн. " << endl;
    cin.get(); cin.get();
    return 0;
}
ЕЕ
Егор Ерёмин
57 091
Лучший ответ
Даты переводите в число_дней_с_какой_то_даты (например 1.1.1900) и считаете разницу между этими двумя чимслами.
Влад Чумак
Влад Чумак
34 701
#include <iostream>
using namespace std
int main()
{
int one;
int two;
cin >> one;
cin >> two;
cout << (one-two);
return 0;
}
На С получается:
long dt(long d,long m,long y){
long my = 12 * y + m - 3;
return d + (367 * my + 7) / 12 - my / 12 * 2 + my / 48 - my / 1200 + my / 4800;
}
long days(long d0,long m0,long y0,long d1,long m1,long y1){
return dt(d1, m1, y1) - dt(d0, m0, y0);
}