Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Использование контейнера set для создания словаря https://www.cyberforum.ru/ cpp-beginners/ thread1400808.html
Всем привет. Прошу помощи с программой. Само задание: Написать программу «Англо - русский и русско - английский словарь». «База данных» словаря должна содержать синонимичные варианты перевода слов....
По заданным вещественным значениям a, b и целому n получить таблицу значе-ний величин Yi и U C++
По заданным вещественным значениям a, b и целому n получить таблицу значе-ний величин Yi и U, вычисляемых по правилу: а) значения Yi = f (a,b,i), где f-заданная функция от трех аргументов; а...
C++ Выввод таблицы умножения
Надо написать программу в с++,которая будет вывводить таблицу умножения С ПОМОЩЬЮ цикла.Ограничение:цикл должен быть в 5 строчек.
C++ Форматированный вывод переменной в цикле Господа, извините за тупой вопрос, но меня он очень смутил, делал табуляцию функции в цикле, переменная "y" задана на интервале с шагом 0.6. Почему при y=0 виводиться какой-то бред? #include... https://www.cyberforum.ru/ cpp-beginners/ thread1400771.html
C++ ОпенМП расспаралелить скалярное произведение двух n-мерных векторов (массивов) https://www.cyberforum.ru/ cpp-beginners/ thread1400758.html
Существует следующий код int main() { setlocale(LC_ALL, "Russian"); size_t n; cout << "Введите размерность пространства" << endl; cin >> n; vector<vector<int> > matrix(2,...
Задача про лыжников C++
Вот решил задачу пишут не правильный ответ помогите не могу найти ошибку... Катаясь на некоторых горнолыжных курортах, можно поймать себя на мысли, что чаще при- ходится подниматься вверх на...
C++ Определение типа треугольника
подскажите пожалуйста как узнать в программе тип треугольника? Вот код рабочий.#include <iostream> #include <cmath> using namespace std; class Triangle { public: double a, b, ab, bc,...
C++ Обработать информацию об оценках студентов Привет всем )) Нужна помощь Задача (язык С ++). Составить программу, которая запрашивает фамилии 10 студентов и их оценки по 10 предметам, а после этого вычисляет среднюю оценку каждого студента и... https://www.cyberforum.ru/ cpp-beginners/ thread1400672.html
C++ Обработка массивов https://www.cyberforum.ru/ cpp-beginners/ thread1400651.html
Не знаю как сделать, а нужно срочно 1. Каждый пятый элемент массива А заменить максимальным из четырех предыдущих. 2. Положительные элементы массива В расположить в обратном порядке в массиве Р....
C++ Найти упорядоченную по возрастанию последовательность Не знаю как сделать следующее. Задан массив чисел a1,...,a50. Нужно найти упорядоченную по возрастанию последовательность (больше 5 элементов), последнюю по очереди в массиве и удалить ее. https://www.cyberforum.ru/ cpp-beginners/ thread1400646.html
0 / 0 / 0
Регистрация: 16.06.2014
Сообщений: 31
0

Посчитать количество дней между двумя датами

22.03.2015, 01:08. Просмотров 5879. Ответов 3
Метки (Все метки)


читал на форуме похожие темы, даже нашел целый код, но он мне кажется мудреным, да и использовать мне массивы нельзя, мы их типо не прошли, как и циклы, правда без циклов я так и не придумал, в общем насозидал нечто и тепрь не могу понять откуда берутся значения переменных d,m,y и d1,m1,y1 потому что я с ними ничего не делаю но после проверки на корректность введенной даты у меня вместо к примеру 5 3 2015 получается то что на сриншоте, а ведь при проверке на корректность все правильно выдает

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
/*
Подчитать колечество прошедших дней между датами
*/
 
#include <stdio.h>
#include <conio.h>
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL, "RUSSIAN");
    int d, m, y;
    printf("Введите первую дату\n");
    data:
    printf("Введите день ");     scanf("%d", &d);
     if( d > 31 )
    {
            printf("Дата введена неверно,");
            printf("введите дату заново.\n");
            goto data;
    }
    printf("Введите месяц ");    scanf("%d", &m);
    if( m > 12 )
    {
            printf("Дата введена неверно,");
            printf("введите дату заново.\n");
            goto data;
    }
    printf("Введите год ");      scanf("%d", &y);
 
 
 
// Проврка 1ой даты
    if(m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)
    {
        if(d > 31)
        {
            printf("Дата введена неверно,");
            printf("введите дату заново.\n");
            goto data;
        }
    }
    if(m == 4 || m == 6 || m == 9 || m == 11)
    {
        if(d > 30)
        {
            printf("Дата введена неверно,");
            printf("введите дату заново.\n");
            goto data;
        }
    }
    if(m == 2)
    {
        if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
            if(d>29)
            {
                printf("Дата введена неверно,");
                printf("введите дату заново.\n");
                goto data;
            }
        if(y % 4 != 0 || y % 100 == 0 && y % 400 != 0)
            if(d>28)
        {
            printf("Дата введена неверно,");
            printf("введите дату заново.\n");
            goto data;
        }
    }
    printf("\nДата введена верно.\n");
 
// Ввод 2ой даты
    int d1, m1, y1;
    printf("\nВведите вторую дату\n");
    data1:
    printf("Введите день ");     scanf("%d", &d1);
     if( d1 > 31 )
    {
            printf("Дата введена неверно,");
            printf("введите дату заново.\n");
            goto data1;
    }
    printf("Введите месяц ");    scanf("%d", &m1);
    if( m1 > 12 )
    {
            printf("Дата введена неверно,");
            printf("введите дату заново.\n");
            goto data1;
    }
    printf("Введите год ");      scanf("%d", &y1);
 
 
 
 
//Проверка 2ой даты
    if(m1 == 1 || m1 == 3 || m1 == 5 || m1 == 7 || m1 == 8 || m1 == 10 || m1 == 12)
    {
        if(d1 > 31)
        {
            printf("Дата введена неверно,");
            printf("введите дату заново.\n");
            goto data1;
        }
    }
    if(m1 == 4 || m1 == 6 || m1 == 9 || m1 == 11)
    {
        if(d1 > 30)
        {
            printf("Дата введена неверно,");
            printf("введите дату заново.\n");
            goto data1;
        }
    }
    if(m1 == 2)
    {
        if(y1 % 4 == 0 && y1 % 100 != 0 || y1 % 400 == 0)
            if(d1 > 29)
            {
                printf("Дата введена неверно,");
                printf("введите дату заново.\n");
                goto data1;
            }
        if(y1 % 4 != 0 || y1 % 100 == 0 && y1 % 400 != 0)
            if(d1 > 28)
        {
            printf("Дата введена неверно,");
            printf("введите дату заново.\n");
            goto data1;
        }
    }
    printf("\nДата введена верно.\n");
 
    printf("\n%d %d %d  -  %d %d %d\n", &d, &m, &y, &d1, &m1, &y1);
 
    int counter = 1, year, month, day, n;
    for( year = y; year <= y1; year++)
    {
        for( month = m; month <= 12; month++)
        {
            if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
            {
                n = 31;
            }
            if(month == 4 || month == 6 || month == 9 || month == 11)
            {
                n = 30;
            }
            if(month == 2)
            {
                if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
                {
                    n = 29;
                }
                if(year % 4 != 0 || year % 100 == 0 && year % 400 != 0)
                {
                    n = 28;
                }
            }
            for( day = d; day <= n; day++)
            {
                    counter++;
            }
            d = 1;
        }
        m = 1;
    }
    printf("\n\n\nКоличество прошедших дней равно %d", &counter);
    return 0;
}


Вернуться к обсуждению:
Посчитать количество дней между двумя датами
0
Миниатюры
Посчитать количество дней между двумя датами  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2015, 01:08
Готовые ответы и решения:

Количество дней между двумя датами
Здравствуйте, у меня есть неполный код от задачи: Найти количество дней между двумя датами. можете...

Количество дней между двумя датами
Хочу спросить кто знает как найти количество дней между двумя датами. ПРИМЕР input ...

Высчитать количество дней между двумя датами
Короче,много тем на форуме по этому поводу,но нету ниодной правильной,которая мне нужна. Суть...

Определить количество дней между двумя датами
Всем привет. Знаю была уже подобная задачка решена ранее, и не раз: Пользователь вводит две даты...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
3
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.