crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

__ilya__
  опции профиля:
сообщение 11.9.2012, 13:21
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 57
Регистрация: 19.1.2012
Пользователь №: 3143

Спасибо сказали: 0 раз(а)




Репутация:   0  


есть контейнер
QMap<QDate, int>timecard;

данный контейнер сохраняется в файл и извлекается из него. пользователь каждый день(или не каждый) добавляет в него некое число int.
А собственно вопросов два:

1) как можно подщитать сумму значений за месяц? Не за 30 дней, а за месяц, скажем сентябрь или январь.

2)как подщитать сумму значений за год, например 2011
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
iReset
  опции профиля:
сообщение 11.9.2012, 17:04
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 178
Регистрация: 6.6.2012
Пользователь №: 3414

Спасибо сказали: 23 раз(а)




Репутация:   2  


Цитата(__ilya__ @ 11.9.2012, 17:47) Link
а как устанавливать дату начала и конца периода? в ручную?
не такое не подхродит

Можно и не вручную. Смотря что есть на входе.
Если, например, известен месяц, за который нужно посчитать сумму, то, например:
int month = 8;  // Заранее известный нам месяц
int year = QDate::currentDate ().year ();  // Получаем текущий год
// Тут подразумеваем, что месяц указан за последний год
// т.е. если заданный месяц больше текущего, то год должен быть предыдущий
if (month > QDate::currentDate ().month ())
    year--;
QDate firstDate (year, month, 1);
QDate lastDate = firstDate.addMonth (1);  // Конечная дата на месяц больше

Это как вариант.
Так что есть изначально? Или нужно посчитать суммы по всем месяцам и годам, содержащимся в контейнере?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 15.8.2025, 15:45