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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Eko20
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 54
#1

Разница в днях - C++

25.10.2013, 21:53. Просмотров 329. Ответов 5
Метки нет (Все метки)

Найти разницу в днях между двумя заданными датами. Даты вводить с клавиатуры
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2013, 21:53     Разница в днях
Посмотрите здесь:

C++ Расчет длительности в днях промежутка времени между двумя датами
C++ в чем разница?
разница с и с++ C++
Подсчитать разницу в днях между 2 датами C++
Вычислить разницу в днях между двумя заданными датами C++
C++ Определение разницы между датами в днях
Найти разницу в днях C++
Разница в днях C++
C++ На днях в Московский зоопарк прибыли новые жильцы - целых n канареек
Найти величину интервала времени в годах, месяцах и днях C++
C++ Вычислить возраст человека в днях, неделях и месяцах, с учетом високосных лет
Вывести разницу в днях между двумя датами C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
25.10.2013, 23:04     Разница в днях #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<time.h>
#include<cstring>
 
int main()
{
    char from[64], till[64];
    struct tm tm_from, tm_till;
    memset(&tm_from, 0, sizeof(struct tm));
    memset(&tm_till, 0, sizeof(struct tm));
    std::cout<<"From: ";
    std::cin.getline(from, sizeof(from));
    std::cout<<"Till: ";
    std::cin.getline(till, sizeof(till));
    strptime(from, "%Y.%m.%d", &tm_from);
    strptime(till, "%Y.%m.%d", &tm_till);
    std::cout<<difftime(mktime(&tm_till), mktime(&tm_from))/86400<<std::endl;
    return 0;
}
Eko20
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 54
12.11.2013, 00:58  [ТС]     Разница в днях #3
матерится на 15 и 16 строки.
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
12.11.2013, 01:11     Разница в днях #4
Цитата Сообщение от Eko20 Посмотреть сообщение
матерится на 15 и 16 строки.
Ругается на то, что функции не находит? strptime нет в стандарте С, поэтому под виндой в таком виде, скорее всего, не скомпилируется. Под Linux - норм.
Eko20
0 / 0 / 0
Регистрация: 29.02.2012
Сообщений: 54
12.11.2013, 01:16  [ТС]     Разница в днях #5
ну да. пишет что не объявлено strptime. у меня винда , то есть не пойдет у меня что ли?
MrGluck
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6228 / 3473 / 425
Регистрация: 29.11.2010
Сообщений: 9,178
12.11.2013, 01:23     Разница в днях #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <boost/date_time/gregorian/gregorian.hpp>
#include <iostream>
#include <cstddef>
#include <cmath>
 
int main()
{
    std::size_t day1, month1, year1, day2, month2, year2;
    std::cin >> day1 >> month1 >> year1 >> day2 >> month2 >> year2;
    boost::gregorian::date date1(year1, month1, day1), date2(year2, month2, day2);
    std::cout << std::abs(date2 - date1) << std::endl;
}
Добавлено через 43 секунды
Цитата Сообщение от Eko20 Посмотреть сообщение
у меня винда , то есть не пойдет у меня что ли?
как только Microsoft примет POSIX стандарт
Yandex
Объявления
12.11.2013, 01:23     Разница в днях
Ответ Создать тему
Опции темы

Текущее время: 16:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru