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

Вычислить количество дней, полных месяцев, и полных лет, прошедших между датами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Генерация случайных чисел в заданном диапазоне. http://www.cyberforum.ru/cpp-beginners/thread334169.html
Здесь сказано Не используйте % (получение остатка от деления) для ограничения получаемых случайных чисел. Это не самый лучший метод получения случайных чисел определенного диапазона значений Почему?
C++ Проблемма с логическим оператором if Всем привет. Мне надо было написать такую програмку: если пользователь вводит символ 'y' (yes), то он задаёт данные в структуру, которые в последствии отображаются, а елси пользователь вводит символ 'n' (no), то на экран выводятся данные структуры по умолчанию. Вот моя неправильно работающая программа: #include <iostream> using namespace std; struct CandyBar { char name; ... http://www.cyberforum.ru/cpp-beginners/thread334159.html
Непонятная ошибка C++
Не могу понять, где неправильно. У меня есть такая матрица А 1 4 2 1 3 6 1 5 2 2 3 5 Мне же её надо преобразовать к такому виду - В: 4 0 0 0 1 6 5 2 5 В матрице А числа идут как бы парами. Как получается матрица В из А? Пусть b - элемент матрицы В. i - номер строки в матрице А. j - первый элемент "пары", а значение - второй элемент.
C++ Как поместить в массив строк строку
Есть такой вот массив char s; ну или char** s; я никак не могу разобраться в этих указателях(( 1.Как поместить в него строку 2.Как извлечь из него строку
C++ Вывод строки в текстовый файл http://www.cyberforum.ru/cpp-beginners/thread334147.html
Вместо строки появляется нечто вроде 25d3fe4 Подскажите пожалуйста, в чем ошибка? ofstream fout; String str = Now(); fout << str.c_str();
C++ ofstream & ifstream :: binary read-write struct Не пойму в чем дело... но я не могу считать всю структуру FNTBINARY из файла, файл - это она и есть в бинарном виде, одна структура FNTBINARY. Размер структуры 72412, файл на диске весит 72440 откуда, берутся 8 байт? Формат записи-чтения установлен бинарный. Читается только часть, до chars... дальше мусор. Проверял, что пишется структура полностью адекватная перед записью, содержит нормальные... подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
19.07.2011, 14:58     Вычислить количество дней, полных месяцев, и полных лет, прошедших между датами
По днях
C
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <stdio.h>
 
typedef struct{
  int Day, Month, Year;
}date;
 
int check(int i){
  static int mnth[]  = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  return mnth[--i];
}
 
extern "C" int abs(int a);
 
void make_date(date *d, int nn, int mm, int yy){
  d->Day   = nn;
  d->Month = mm;
  d->Year  = yy;
}
 
int sub(date d1, date d2)
{
  int diff = 0, i;
  int from = d1.Month, to = d2.Month;
  int diffyear = abs(d2.Year - d1.Year);
  if(!diffyear)
    for(i = from; i < to; i++)
      diff += check(i);
    else{
    for(i = from; i <= 12; i++)
      diff += check(i);
    for(i = 1; i < to; i++)
      diff += check(i);
    }
    diff -= d1.Day;
    diff += d2.Day;
    diff += ((diffyear > 1)?(diffyear - 1):(0))*365;
    diff+=diffyear/4;
    for(i = d2.Year - diffyear; i <= d2.Year; i++){
      if(((i%4==0) && !(i%100==0))||(i%400==0))
        diff += 1; break;
    }
    return diff;
}
 
int main(){
  date d1, d2;
  make_date(&d1, 31, 12, 1999);
  make_date(&d2, 1, 1, 2000);
  printf("%d", sub(d1, d2));
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru