Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2015, 14:39   #1
cool_dude
Новичок
Джуниор
 
Регистрация: 22.04.2015
Сообщений: 1
По умолчанию Разбивка периода даты на месяцы

Здравствуйте, уважаемые форумчане! Есть такая задача. При вводе начало и конец периода, на listview выводило количество дней и разбивка на месяцы. Например: Нач.пер. 21/01/15 кон.пер. 25/03/15. А результат должен быть таким: 21/01/15 — 31/01/15 — 11 дней; 01/02/15-28/02/15 — 28 дней; и 01/03/15 — 25/03/15 — 25 дней.
В форме имею два dateTimePicker (начало и конец периода), один ListView (здесь имею три столбика — начало периода, конец периода и количество дней) и кнопку button.
Прошу помощи, в решении этой задачи.
Ниже приведен мой код:
Код:
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                 int a, b, c;
                 b = Convert::ToInt32(dateTimePicker1->Text->Substring(3,2));
                 c = Convert::ToInt32(dateTimePicker1->Text->Substring(0,2));
                 p = Convert::ToInt32(dateTimePicker2->Text->Substring(3,2));
                 while (b < p)
                 {
                   b ++;
                   switch (b)
                     {
                       case 1:  dni = 31; d_b = 1; d_f = 31; break;
                       case 2:  dni = 28; d_b = 1; d_f = 28;break;
                       case 3:  dni = 31; d_b = 1; d_f = 31;break;
                       case 4:  dni = 30; d_b = 1; d_f = 30;break;
                       case 5:  dni = 31; d_b = 1; d_f = 31;break;
                       case 6:  dni = 30; d_b = 1; d_f = 30;break;
                       case 7:  dni = 31; d_b = 1; d_f = 31; break;
                       case 8:  dni = 31; d_b = 1; d_f = 31; break;
                       case 9:  dni = 30; d_b = 1; d_f = 30; break;
                       case 10: dni = 31; d_b = 1; d_f = 31; break;
                       case 11: dni = 30; d_b = 1; d_f = 30; break;
                       case 12: dni = 31; d_b = 1; d_f = 31; break;
                          };
   if (b!=0)
   {
   delta = dni - c
   listView1->Items->Add(Convert::ToString(dateTimePicker1->Value.ToShortDateString()));
listView1->Items[i]->SubItems->Add(Convert::ToString(dateTimePicker1->Value.AddDays(delta).ToShortDateString()));
listView1->Items[i]->SubItems->Add(Convert::ToString(delta));
}
else
  {
   delta = dni - d_b;
listView1->Items->Add(Convert::ToString(dateTimePicker1->Value.AddDays(d_b).ToShortDateString()));
listView1->Items[i]->SubItems->Add(Convert::ToString(dateTimePicker1->Value.AddDays(delta).ToShortDateString()));
listView1->Items[i]->SubItems->Add(Convert::ToString(delta));
}
}
cool_dude вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделить из количества дней - годы, месяцы и дни FoxRiver Microsoft Office Excel 6 05.02.2015 06:16
Нахождение последней даты периода s8259 Microsoft Office Excel 4 15.11.2012 23:57
SQL-запрос для вывода в шахматном виде просуммированной информации. Столбцы - месяцы, строчки - года Phantom91x Помощь студентам 4 12.07.2012 09:02
из диапазона двух выбранных дат, отдельно вывести(перечислить) дни, месяцы, годы Alex003 Помощь студентам 5 12.05.2010 22:03
Сортировать месяцы соответственно их номера, а не по алфавиту в сводной таблице maxic Microsoft Office Excel 4 10.10.2008 17:51